@exanderal/stackcraft 0.4.1 → 0.5.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.
Files changed (75) hide show
  1. package/README.md +57 -8
  2. package/dist/create/index.d.ts +1 -1
  3. package/dist/create/index.d.ts.map +1 -1
  4. package/dist/create/index.js +34 -14
  5. package/dist/create/index.js.map +1 -1
  6. package/dist/create/scaffolders/__tests__/web-vite.test.js +1 -0
  7. package/dist/create/scaffolders/__tests__/web-vite.test.js.map +1 -1
  8. package/dist/create/scaffolders/api-nestjs-graphql.d.ts.map +1 -1
  9. package/dist/create/scaffolders/api-nestjs-graphql.js +14 -17
  10. package/dist/create/scaffolders/api-nestjs-graphql.js.map +1 -1
  11. package/dist/create/scaffolders/api-nestjs-rest.d.ts.map +1 -1
  12. package/dist/create/scaffolders/api-nestjs-rest.js +14 -17
  13. package/dist/create/scaffolders/api-nestjs-rest.js.map +1 -1
  14. package/dist/create/scaffolders/orm.d.ts +6 -0
  15. package/dist/create/scaffolders/orm.d.ts.map +1 -0
  16. package/dist/create/scaffolders/orm.js +271 -0
  17. package/dist/create/scaffolders/orm.js.map +1 -0
  18. package/dist/create/scaffolders/setup-docker.js +35 -8
  19. package/dist/create/scaffolders/setup-docker.js.map +1 -1
  20. package/dist/create/scaffolders/utils/copy.d.ts.map +1 -1
  21. package/dist/create/scaffolders/utils/copy.js +1 -0
  22. package/dist/create/scaffolders/utils/copy.js.map +1 -1
  23. package/dist/create/scaffolders/wire-client.js +4 -4
  24. package/dist/create/types.d.ts +2 -0
  25. package/dist/create/types.d.ts.map +1 -1
  26. package/dist/index.js +2 -1
  27. package/dist/index.js.map +1 -1
  28. package/package.json +1 -1
  29. package/templates/api-nestjs-graphql/package.json +2 -3
  30. package/templates/api-nestjs-graphql/src/modules/health/health.module.ts +2 -1
  31. package/templates/api-nestjs-graphql/src/modules/health/health.resolver.ts +12 -0
  32. package/templates/api-nestjs-rest/package.json +1 -3
  33. package/templates/base/tools/generators/module/graphql-files/__fileName__.model.ts__tmpl__ +10 -8
  34. package/templates/base/tools/generators/module/index.js +0 -4
  35. package/templates/base/tools/generators/module/schema.json +0 -6
  36. package/templates/orm-kysely/scripts/migration-create.ts +30 -0
  37. package/templates/orm-kysely/src/common/repositories/entity.repository.ts +33 -0
  38. package/templates/orm-kysely/src/common/repositories/readonly-entity.repository.ts +46 -0
  39. package/templates/orm-kysely/src/database/database.types.ts +17 -0
  40. package/templates/orm-kysely/src/database/migrations/.gitkeep +0 -0
  41. package/templates/orm-kysely/src/database/seeds/seed.ts +12 -0
  42. package/templates/orm-kysely/src/database/utils/columns.ts +32 -0
  43. package/templates/orm-kysely/src/database/utils/index.ts +3 -0
  44. package/templates/orm-kysely/src/database/utils/indexes.ts +20 -0
  45. package/templates/orm-kysely/src/database/utils/tables.ts +7 -0
  46. package/templates/orm-kysely/src/modules/database/database.module.ts +9 -0
  47. package/templates/orm-kysely/tools/generators/module/files/__fileName__.model.ts__tmpl__ +16 -0
  48. package/templates/orm-kysely/tools/generators/module/files/__fileName__.module.ts__tmpl__ +9 -0
  49. package/templates/orm-kysely/tools/generators/module/files/__fileName__.repository.ts__tmpl__ +26 -0
  50. package/templates/orm-kysely/tools/generators/module/files/__fileName__.service.ts__tmpl__ +28 -0
  51. package/templates/orm-kysely/tools/generators/module/files/__tests__/__fileName__.integration.spec.ts__tmpl__ +23 -0
  52. package/templates/orm-kysely/tools/generators/module/graphql-files/__fileName__.model.ts__tmpl__ +24 -0
  53. package/templates/orm-prisma/prisma/schema.prisma +8 -0
  54. package/templates/orm-prisma/prisma/seeds/seed.ts +16 -0
  55. package/templates/orm-prisma/src/modules/database/database.module.ts +8 -0
  56. package/templates/orm-prisma/src/modules/prisma/prisma.module.ts +9 -0
  57. package/templates/orm-prisma/src/modules/prisma/prisma.service.ts +9 -0
  58. package/templates/orm-prisma/tools/generators/module/files/__fileName__.model.ts__tmpl__ +15 -0
  59. package/templates/orm-prisma/tools/generators/module/files/__fileName__.module.ts__tmpl__ +9 -0
  60. package/templates/orm-prisma/tools/generators/module/files/__fileName__.repository.ts__tmpl__ +28 -0
  61. package/templates/orm-prisma/tools/generators/module/files/__fileName__.service.ts__tmpl__ +28 -0
  62. package/templates/orm-prisma/tools/generators/module/files/__tests__/__fileName__.integration.spec.ts__tmpl__ +23 -0
  63. package/templates/orm-prisma/tools/generators/module/graphql-files/__fileName__.model.ts__tmpl__ +23 -0
  64. package/templates/api-nestjs-graphql/src/common/entities/base.entity.ts +0 -21
  65. package/templates/api-nestjs-graphql/src/common/repositories/entity.repository.ts +0 -21
  66. package/templates/api-nestjs-graphql/src/common/repositories/readonly-entity.repository.ts +0 -22
  67. package/templates/api-nestjs-graphql/src/common/services/entity.service.ts +0 -24
  68. package/templates/api-nestjs-graphql/src/common/services/readonly-entity.service.ts +0 -23
  69. package/templates/api-nestjs-graphql/src/modules/database/database.module.ts +0 -18
  70. package/templates/api-nestjs-rest/src/common/entities/base.entity.ts +0 -16
  71. package/templates/api-nestjs-rest/src/common/repositories/entity.repository.ts +0 -21
  72. package/templates/api-nestjs-rest/src/common/repositories/readonly-entity.repository.ts +0 -22
  73. package/templates/api-nestjs-rest/src/common/services/entity.service.ts +0 -24
  74. package/templates/api-nestjs-rest/src/common/services/readonly-entity.service.ts +0 -23
  75. package/templates/api-nestjs-rest/src/modules/database/database.module.ts +0 -18
@@ -1,22 +0,0 @@
1
- import { FindManyOptions, FindOptionsWhere, In, Repository } from 'typeorm';
2
- import { BaseEntity } from '../entities/base.entity';
3
-
4
- export abstract class ReadonlyEntityRepository<T extends BaseEntity> {
5
- constructor(protected readonly repo: Repository<T>) {}
6
-
7
- findAll(options?: FindManyOptions<T>): Promise<T[]> {
8
- return this.repo.find(options);
9
- }
10
-
11
- findByIds(ids: string[]): Promise<T[]> {
12
- return this.repo.findBy({ id: In(ids) } as FindOptionsWhere<T>);
13
- }
14
-
15
- findById(id: string): Promise<T | null> {
16
- return this.repo.findOneBy({ id } as FindOptionsWhere<T>);
17
- }
18
-
19
- findOne(where: FindOptionsWhere<T>): Promise<T | null> {
20
- return this.repo.findOneBy(where);
21
- }
22
- }
@@ -1,24 +0,0 @@
1
- import { DeepPartial } from 'typeorm';
2
- import { BaseEntity } from '../entities/base.entity';
3
- import { EntityRepository } from '../repositories/entity.repository';
4
- import { ReadonlyEntityService } from './readonly-entity.service';
5
-
6
- export abstract class EntityService<
7
- T extends BaseEntity,
8
- > extends ReadonlyEntityService<T> {
9
- constructor(protected readonly repository: EntityRepository<T>) {
10
- super(repository);
11
- }
12
-
13
- create(data: DeepPartial<T>): Promise<T> {
14
- return this.repository.create(data);
15
- }
16
-
17
- update(id: string, data: DeepPartial<T>): Promise<T> {
18
- return this.repository.update(id, data);
19
- }
20
-
21
- remove(id: string): Promise<void> {
22
- return this.repository.remove(id);
23
- }
24
- }
@@ -1,23 +0,0 @@
1
- import { FindManyOptions, FindOptionsWhere } from 'typeorm';
2
- import { BaseEntity } from '../entities/base.entity';
3
- import { ReadonlyEntityRepository } from '../repositories/readonly-entity.repository';
4
-
5
- export abstract class ReadonlyEntityService<T extends BaseEntity> {
6
- constructor(protected readonly repository: ReadonlyEntityRepository<T>) {}
7
-
8
- findAll(options?: FindManyOptions<T>): Promise<T[]> {
9
- return this.repository.findAll(options);
10
- }
11
-
12
- findByIds(ids: string[]): Promise<T[]> {
13
- return this.repository.findByIds(ids);
14
- }
15
-
16
- findById(id: string): Promise<T | null> {
17
- return this.repository.findById(id);
18
- }
19
-
20
- findOne(where: FindOptionsWhere<T>): Promise<T | null> {
21
- return this.repository.findOne(where);
22
- }
23
- }
@@ -1,18 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { TypeOrmModule } from '@nestjs/typeorm';
3
-
4
- @Module({
5
- imports: [
6
- TypeOrmModule.forRoot({
7
- type: '{{dbType}}' as 'postgres' | 'mysql',
8
- host: process.env.DB_HOST ?? 'localhost',
9
- port: parseInt(process.env.DB_PORT ?? '{{dbPort}}', 10),
10
- username: process.env.DB_USER ?? 'postgres',
11
- password: process.env.DB_PASSWORD ?? '',
12
- database: process.env.DB_NAME ?? '{{projectName}}',
13
- entities: [],
14
- synchronize: process.env.NODE_ENV !== 'production',
15
- }),
16
- ],
17
- })
18
- export class DatabaseModule {}