@ackplus/nest-seeder 1.1.1 → 1.1.2

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 (46) hide show
  1. package/package.json +2 -2
  2. package/src/cli.d.ts +4 -0
  3. package/src/cli.d.ts.map +1 -0
  4. package/src/{index.ts → index.d.ts} +1 -7
  5. package/src/index.d.ts.map +1 -0
  6. package/src/lib/decorators/factory.decorator.d.ts +7 -0
  7. package/src/lib/decorators/factory.decorator.d.ts.map +1 -0
  8. package/src/lib/factory/data.factory.d.ts +7 -0
  9. package/src/lib/factory/data.factory.d.ts.map +1 -0
  10. package/src/lib/{index.ts → index.d.ts} +1 -3
  11. package/src/lib/index.d.ts.map +1 -0
  12. package/src/lib/interfaces/factory.interface.d.ts +5 -0
  13. package/src/lib/interfaces/factory.interface.d.ts.map +1 -0
  14. package/src/lib/interfaces/{index.ts → index.d.ts} +1 -1
  15. package/src/lib/interfaces/index.d.ts.map +1 -0
  16. package/src/lib/interfaces/property-metadata.interface.d.ts +7 -0
  17. package/src/lib/interfaces/property-metadata.interface.d.ts.map +1 -0
  18. package/src/lib/interfaces/{seeder-module-async-options.interface.ts → seeder-module-async-options.interface.d.ts} +1 -5
  19. package/src/lib/interfaces/seeder-module-async-options.interface.d.ts.map +1 -0
  20. package/src/lib/interfaces/{seeder-options-factory.interface.ts → seeder-options-factory.interface.d.ts} +1 -1
  21. package/src/lib/interfaces/seeder-options-factory.interface.d.ts.map +1 -0
  22. package/src/lib/seeder/seeder.d.ts +11 -0
  23. package/src/lib/seeder/seeder.d.ts.map +1 -0
  24. package/src/lib/seeder/{seeder.interface.ts → seeder.interface.d.ts} +1 -1
  25. package/src/lib/seeder/seeder.interface.d.ts.map +1 -0
  26. package/src/lib/seeder/seeder.module.d.ts +18 -0
  27. package/src/lib/seeder/seeder.module.d.ts.map +1 -0
  28. package/src/lib/seeder/seeder.service.d.ts +11 -0
  29. package/src/lib/seeder/seeder.service.d.ts.map +1 -0
  30. package/src/lib/storages/factory.metadata.storage.d.ts +17 -0
  31. package/src/lib/storages/factory.metadata.storage.d.ts.map +1 -0
  32. package/eslint.config.mjs +0 -22
  33. package/jest.config.ts +0 -10
  34. package/project.json +0 -38
  35. package/src/cli.ts +0 -206
  36. package/src/lib/decorators/factory.decorator.ts +0 -32
  37. package/src/lib/factory/data.factory.ts +0 -96
  38. package/src/lib/interfaces/factory.interface.ts +0 -9
  39. package/src/lib/interfaces/property-metadata.interface.ts +0 -11
  40. package/src/lib/seeder/seeder.module.ts +0 -97
  41. package/src/lib/seeder/seeder.service.ts +0 -79
  42. package/src/lib/seeder/seeder.ts +0 -66
  43. package/src/lib/storages/factory.metadata.storage.ts +0 -37
  44. package/tsconfig.json +0 -17
  45. package/tsconfig.lib.json +0 -14
  46. package/tsconfig.spec.json +0 -15
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@ackplus/nest-seeder",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {
8
8
  "tslib": "^2.3.0"
9
9
  }
10
- }
10
+ }
package/src/cli.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { SeederOptions, SeederRunner } from './lib';
3
+ export declare const seeder: (options: SeederOptions) => SeederRunner;
4
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../packages/nest-seeder/src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAyB,MAAM,OAAO,CAAC;AAqK3E,eAAO,MAAM,MAAM,GAAI,SAAS,aAAa,KAAG,YAgC/C,CAAC"}
@@ -1,15 +1,9 @@
1
1
  export * from './lib/seeder/seeder';
2
-
3
2
  export * from './lib/seeder/seeder.interface';
4
-
5
3
  export * from './lib/seeder/seeder.module';
6
-
7
4
  export * from './lib/seeder/seeder.service';
8
-
9
5
  export * from './lib/factory/data.factory';
10
-
11
6
  export * from './lib/decorators/factory.decorator';
12
-
13
7
  export * from './lib/interfaces/seeder-options-factory.interface';
14
-
15
8
  export * from './lib/interfaces/seeder-module-async-options.interface';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/nest-seeder/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AAEpC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,oCAAoC,CAAC;AAEnD,cAAc,mDAAmD,CAAC;AAElE,cAAc,wDAAwD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Faker } from '@faker-js/faker';
2
+ type BaseType = string | number | Date | Buffer | boolean | Record<string, any>;
3
+ export type FactoryValue = BaseType | Array<BaseType>;
4
+ export type FactoryValueGenerator = (faker?: Faker, ctx?: Record<string, any>) => FactoryValue;
5
+ export declare function Factory(generator: FactoryValueGenerator | FactoryValue, dependsOn?: string[]): (target: Record<string, any>, propertyKey: string | symbol) => void;
6
+ export {};
7
+ //# sourceMappingURL=factory.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.decorator.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/decorators/factory.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKxC,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEtD,MAAM,MAAM,qBAAqB,GAAG,CAChC,KAAK,CAAC,EAAE,KAAK,EACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,YAAY,CAAC;AAElB,wBAAgB,OAAO,CACnB,SAAS,EAAE,qBAAqB,GAAG,YAAY,EAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,IAGhB,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,aAAa,MAAM,GAAG,MAAM,KAC7B,IAAI,CAUV"}
@@ -0,0 +1,7 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { Factory } from '../interfaces';
3
+ export declare class DataFactory {
4
+ static createForClass(target: Type<unknown>): Factory;
5
+ private static generate;
6
+ }
7
+ //# sourceMappingURL=data.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/factory/data.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC,qBAAa,WAAW;IAEpB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO;IAuBrD,OAAO,CAAC,MAAM,CAAC,QAAQ;CA2D1B"}
@@ -1,7 +1,5 @@
1
1
  export * from './seeder/seeder';
2
-
3
2
  export * from './seeder/seeder.interface';
4
-
5
3
  export * from './factory/data.factory';
6
-
7
4
  export * from './decorators/factory.decorator';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/nest-seeder/src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAEhC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,wBAAwB,CAAC;AAEvC,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FactoryValue } from '../decorators/factory.decorator';
2
+ export interface Factory {
3
+ generate(count: number, values?: Record<string, any>): Record<string, FactoryValue>[];
4
+ }
5
+ //# sourceMappingURL=factory.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.interface.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/factory.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,MAAM,WAAW,OAAO;IACpB,QAAQ,CACJ,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;CACrC"}
@@ -1,3 +1,3 @@
1
1
  export * from './property-metadata.interface';
2
-
3
2
  export * from './factory.interface';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAE9C,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { FactoryValueGenerator, FactoryValue } from '../decorators/factory.decorator';
2
+ export interface PropertyMetadata {
3
+ target: () => void;
4
+ propertyKey: string;
5
+ arg: FactoryValueGenerator | FactoryValue;
6
+ }
7
+ //# sourceMappingURL=property-metadata.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-metadata.interface.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/property-metadata.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,YAAY,EACf,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,qBAAqB,GAAG,YAAY,CAAC;CAC7C"}
@@ -1,7 +1,6 @@
1
1
  import { Type, ModuleMetadata } from '@nestjs/common';
2
2
  import { SeederModuleOptions } from '../seeder/seeder.module';
3
3
  import { SeederOptionsFactory } from './seeder-options-factory.interface';
4
-
5
4
  /**
6
5
  * Async options for SeederModule configuration
7
6
  */
@@ -10,24 +9,21 @@ export interface SeederModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'
10
9
  * Make the module global
11
10
  */
12
11
  isGlobal?: boolean;
13
-
14
12
  /**
15
13
  * Use a factory function to create options
16
14
  */
17
15
  useFactory?: (...args: any[]) => Promise<SeederModuleOptions> | SeederModuleOptions;
18
-
19
16
  /**
20
17
  * Use a class that implements SeederOptionsFactory
21
18
  */
22
19
  useClass?: Type<SeederOptionsFactory>;
23
-
24
20
  /**
25
21
  * Use an existing provider
26
22
  */
27
23
  useExisting?: Type<SeederOptionsFactory>;
28
-
29
24
  /**
30
25
  * Dependencies to inject into the factory function or class
31
26
  */
32
27
  inject?: any[];
33
28
  }
29
+ //# sourceMappingURL=seeder-module-async-options.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder-module-async-options.interface.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/seeder-module-async-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;IAC7E;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;IAEpF;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEtC;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB"}
@@ -1,5 +1,4 @@
1
1
  import { SeederModuleOptions } from '../seeder/seeder.module';
2
-
3
2
  /**
4
3
  * Interface for SeederOptionsFactory
5
4
  * Implement this interface to create a factory class for seeder configuration
@@ -7,3 +6,4 @@ import { SeederModuleOptions } from '../seeder/seeder.module';
7
6
  export interface SeederOptionsFactory {
8
7
  createSeederOptions(): Promise<SeederModuleOptions> | SeederModuleOptions;
9
8
  }
9
+ //# sourceMappingURL=seeder-options-factory.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder-options-factory.interface.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/seeder-options-factory.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CAC7E"}
@@ -0,0 +1,11 @@
1
+ import { Provider, Type, DynamicModule, ForwardReference } from '@nestjs/common';
2
+ import { SeederModuleExtraOptions } from './seeder.module';
3
+ export interface SeederOptions {
4
+ imports?: Array<Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
5
+ providers?: Provider[];
6
+ }
7
+ export interface SeederRunner {
8
+ run(extraOptions: SeederModuleExtraOptions): Promise<void>;
9
+ }
10
+ export declare const seeder: (options: SeederOptions) => SeederRunner;
11
+ //# sourceMappingURL=seeder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/seeder/seeder.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,gBAAgB,EACnB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAEH,wBAAwB,EAE3B,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,KAAK,CACX,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,gBAAgB,CACxE,CAAC;IACF,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,GAAG,CAAC,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAaD,eAAO,MAAM,MAAM,GAAI,SAAS,aAAa,KAAG,YAyB/C,CAAC"}
@@ -3,8 +3,8 @@ export interface SeederServiceOptions {
3
3
  refresh?: boolean;
4
4
  dummyData?: boolean;
5
5
  }
6
-
7
6
  export interface Seeder {
8
7
  seed(options: SeederServiceOptions): Promise<any>;
9
8
  drop(options: SeederServiceOptions): Promise<any>;
10
9
  }
10
+ //# sourceMappingURL=seeder.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder.interface.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/seeder/seeder.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD"}
@@ -0,0 +1,18 @@
1
+ import { DynamicModule, Provider, Type, ForwardReference } from '@nestjs/common';
2
+ import { Seeder, SeederServiceOptions } from './seeder.interface';
3
+ import { SeederModuleAsyncOptions } from '../interfaces/seeder-module-async-options.interface';
4
+ export interface SeederModuleExtraOptions extends SeederServiceOptions {
5
+ seeders?: Provider<Seeder>[];
6
+ plugins?: any[];
7
+ }
8
+ export interface SeederModuleOptions extends SeederModuleExtraOptions {
9
+ imports?: Array<Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
10
+ providers?: Provider[];
11
+ }
12
+ export declare class SeederModule {
13
+ static register(options: SeederModuleOptions): DynamicModule;
14
+ static forRootAsync(options: SeederModuleAsyncOptions): DynamicModule;
15
+ private static createAsyncProviders;
16
+ private static createAsyncOptionsProvider;
17
+ }
18
+ //# sourceMappingURL=seeder.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder.module.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/seeder/seeder.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,gBAAgB,EACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAG/F,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAClE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,OAAO,CAAC,EAAE,KAAK,CACX,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,gBAAgB,CACxE,CAAC;IACF,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAID,qBACa,YAAY;IAErB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa;IAkB5D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,wBAAwB,GAAG,aAAa;IAkBrE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAcnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAgB5C"}
@@ -0,0 +1,11 @@
1
+ import { Seeder, SeederServiceOptions } from './seeder.interface';
2
+ export declare class SeederService {
3
+ private readonly seeders;
4
+ private readonly options;
5
+ constructor(seeders: Seeder[], options?: SeederServiceOptions);
6
+ run(): Promise<any>;
7
+ seed(): Promise<any>;
8
+ drop(): Promise<any>;
9
+ getSeederToRun(): Seeder[];
10
+ }
11
+ //# sourceMappingURL=seeder.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder.service.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/seeder/seeder.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,qBACa,aAAa;IAGlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE,oBAAyB;IAGjD,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IASnB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAYpB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAS1B,cAAc,IAAI,MAAM,EAAE;CAmC7B"}
@@ -0,0 +1,17 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { FactoryValue, FactoryValueGenerator } from '../decorators/factory.decorator';
3
+ export type PropertyMetadataType = {
4
+ target?: any;
5
+ propertyKey?: any;
6
+ arg: {
7
+ generator: FactoryValueGenerator | FactoryValue;
8
+ dependsOn?: string[];
9
+ };
10
+ };
11
+ export declare class FactoryMetadataStorageHost {
12
+ private properties;
13
+ addPropertyMetadata(metadata: PropertyMetadataType): void;
14
+ getPropertyMetadatasByTarget(target: Type<unknown>): PropertyMetadataType[];
15
+ }
16
+ export declare const FactoryMetadataStorage: FactoryMetadataStorageHost;
17
+ //# sourceMappingURL=factory.metadata.storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.metadata.storage.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/storages/factory.metadata.storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EACH,YAAY,EACZ,qBAAqB,EACxB,MAAM,iCAAiC,CAAC;AAGzC,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,GAAG,EAAE;QACD,SAAS,EAAE,qBAAqB,GAAG,YAAY,CAAC;QAChD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACL,CAAC;AAEF,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,UAAU,CAA8B;IAEhD,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAIzD,4BAA4B,CACxB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GACtB,oBAAoB,EAAE;CAI5B;AAID,eAAO,MAAM,sBAAsB,EAAE,0BACoC,CAAC"}
package/eslint.config.mjs DELETED
@@ -1,22 +0,0 @@
1
- import baseConfig from '../../eslint.base.config';
2
-
3
- export default [
4
- ...baseConfig,
5
- {
6
- files: ['**/*.json'],
7
- rules: {
8
- '@nx/dependency-checks': [
9
- 'error',
10
- {
11
- ignoredFiles: ['{projectRoot}/eslint.config.{js,cjs,mjs,ts,cts,mts}'],
12
- },
13
- ],
14
- },
15
- languageOptions: {
16
- parser: await import('jsonc-eslint-parser'),
17
- },
18
- },
19
- {
20
- ignores: ['**/out-tsc'],
21
- },
22
- ];
package/jest.config.ts DELETED
@@ -1,10 +0,0 @@
1
- export default {
2
- displayName: 'test-nest-2',
3
- preset: '../../jest.preset.js',
4
- testEnvironment: 'node',
5
- transform: {
6
- '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.spec.json' }],
7
- },
8
- moduleFileExtensions: ['ts', 'js', 'html'],
9
- coverageDirectory: '../../coverage/packages/test-nest-2',
10
- };
package/project.json DELETED
@@ -1,38 +0,0 @@
1
- {
2
- "name": "nest-seeder",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "packages/nest-seeder/src",
5
- "projectType": "library",
6
- "release": {
7
- "version": {
8
- "manifestRootsToUpdate": [
9
- "dist/{projectRoot}"
10
- ],
11
- "currentVersionResolver": "git-tag",
12
- "fallbackCurrentVersionResolver": "disk"
13
- }
14
- },
15
- "tags": [],
16
- "targets": {
17
- "build": {
18
- "executor": "@nx/js:tsc",
19
- "outputs": [
20
- "{options.outputPath}"
21
- ],
22
- "options": {
23
- "outputPath": "dist/packages/nest-seeder",
24
- "tsConfig": "packages/nest-seeder/tsconfig.lib.json",
25
- "packageJson": "packages/nest-seeder/package.json",
26
- "main": "packages/nest-seeder/src/index.ts",
27
- "assets": [
28
- "packages/nest-seeder/*.md"
29
- ]
30
- }
31
- },
32
- "nx-release-publish": {
33
- "options": {
34
- "packageRoot": "dist/{projectRoot}"
35
- }
36
- }
37
- }
38
- }
package/src/cli.ts DELETED
@@ -1,206 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { SeederModule, SeederModuleExtraOptions } from './lib/seeder/seeder.module';
4
- import { SeederOptions, SeederRunner, SeederServiceOptions, } from './lib';
5
- import yargs from 'yargs';
6
- import { NestFactory } from '@nestjs/core';
7
- import { SeederService } from './lib/seeder/seeder.service';
8
- import * as path from 'path';
9
- import * as fs from 'fs';
10
-
11
- interface CliArguments {
12
- refresh: boolean;
13
- name?: string[];
14
- dummyData: boolean;
15
- config: string;
16
- }
17
-
18
- async function parseArguments(): Promise<CliArguments> {
19
- const argv = await yargs(process.argv.slice(2))
20
- .option('refresh', {
21
- alias: 'r',
22
- type: 'boolean',
23
- description: 'Drop all data before seeding',
24
- default: false
25
- })
26
- .option('name', {
27
- alias: 'n',
28
- type: 'array',
29
- string: true,
30
- description: 'Specific seeder names to run',
31
- })
32
- .option('dummyData', {
33
- alias: 'd',
34
- type: 'boolean',
35
- description: 'Include dummy data',
36
- default: false
37
- })
38
- .option('config', {
39
- alias: 'c',
40
- type: 'string',
41
- description: 'Path to seeder configuration file',
42
- demandOption: true
43
- })
44
- .help()
45
- .example('nest-seed -c ./seeder.config.ts', 'Run all seeders')
46
- .example('nest-seed -c ./seeder.config.ts --refresh', 'Drop and reseed all data')
47
- .example('nest-seed -c ./seeder.config.ts --name UserSeeder', 'Run specific seeder')
48
- .parseAsync();
49
-
50
- return {
51
- refresh: argv.refresh,
52
- name: argv.name,
53
- dummyData: argv.dummyData,
54
- config: argv.config,
55
- };
56
- }
57
-
58
- function setupTsNode() {
59
- try {
60
- // Register ts-node for TypeScript support
61
- require('ts-node').register({
62
- transpileOnly: true,
63
- compilerOptions: {
64
- module: 'commonjs',
65
- experimentalDecorators: true,
66
- emitDecoratorMetadata: true,
67
- esModuleInterop: true,
68
- allowSyntheticDefaultImports: true,
69
- skipLibCheck: true,
70
- }
71
- });
72
- } catch (error) {
73
- console.error('Failed to setup TypeScript support. Make sure ts-node is installed:');
74
- console.error('npm install -D ts-node typescript');
75
- process.exit(1);
76
- }
77
- }
78
-
79
- async function loadSeederConfig(configPath: string) {
80
- try {
81
- // Resolve the config path relative to current working directory
82
- const resolvedPath = path.resolve(process.cwd(), configPath);
83
-
84
- // Check if file exists
85
- if (!fs.existsSync(resolvedPath)) {
86
- throw new Error(`Configuration file not found: ${resolvedPath}`);
87
- }
88
-
89
- // Setup TypeScript support if needed
90
- if (configPath.endsWith('.ts')) {
91
- setupTsNode();
92
- }
93
-
94
- // Clear require cache to ensure fresh import
95
- delete require.cache[resolvedPath];
96
-
97
- // Import the configuration
98
- const configModule = await import(resolvedPath);
99
- const config = configModule.default || configModule;
100
-
101
- if (!config) {
102
- throw new Error('Configuration file must export a default configuration object');
103
- }
104
-
105
- return config;
106
- } catch (error) {
107
- console.error('Error loading seeder configuration:');
108
- console.error(error.message);
109
- console.error('\nMake sure your configuration file:');
110
- console.error('1. Exists at the specified path');
111
- console.error('2. Exports a default configuration object');
112
- console.error('3. Has proper TypeScript setup if using .ts files');
113
- process.exit(1);
114
- }
115
- }
116
-
117
- async function runSeeder() {
118
- try {
119
- const args = await parseArguments();
120
-
121
- console.log('🌱 Starting NestJS Seeder...');
122
- console.log(`📁 Loading configuration from: ${args.config}`);
123
-
124
- // Load the seeder configuration from specified path
125
- const seederConfig = await loadSeederConfig(args.config);
126
-
127
- const cliOptions: SeederServiceOptions = {
128
- refresh: args.refresh,
129
- name: args.name,
130
- dummyData: args.dummyData,
131
- };
132
-
133
- if (args.refresh) {
134
- console.log('🔄 Refresh mode: Will drop existing data before seeding');
135
- }
136
-
137
- if (args.name && args.name.length > 0) {
138
- console.log(`🎯 Running specific seeders: ${args.name.join(', ')}`);
139
- }
140
-
141
- if (args.dummyData) {
142
- console.log('🎲 Dummy data mode enabled');
143
- }
144
-
145
- const app = await NestFactory.createApplicationContext(
146
- SeederModule.register({
147
- ...seederConfig,
148
- ...cliOptions,
149
- }),
150
- );
151
-
152
- const seedersService = app.get(SeederService);
153
- await seedersService.run();
154
-
155
- await app.close();
156
- console.log('✅ Seeding completed successfully!');
157
- process.exit(0);
158
- } catch (error) {
159
- console.error('❌ Error running seeder:');
160
- console.error(error.message);
161
- if (error.stack && process.env.NODE_ENV === 'development') {
162
- console.error('\nStack trace:');
163
- console.error(error.stack);
164
- }
165
- process.exit(1);
166
- }
167
- }
168
-
169
- export const seeder = (options: SeederOptions): SeederRunner => {
170
- return {
171
- async run(extraOptions: SeederModuleExtraOptions): Promise<void> {
172
- const cliOptions: SeederServiceOptions = {};
173
- const argv: any = yargs(process.argv).argv;
174
- if (argv.r || argv.refresh) {
175
- cliOptions.refresh = true;
176
- }
177
-
178
- if (argv.n || argv.name) {
179
- cliOptions.name = argv.n || argv.name;
180
- }
181
-
182
- if (argv.d || argv.dummyData) {
183
- cliOptions.dummyData = argv.d || argv.dummyData;
184
- }
185
-
186
- extraOptions = Object.assign(extraOptions, cliOptions);
187
-
188
- const app = await NestFactory.createApplicationContext(
189
- SeederModule.register({
190
- ...options,
191
- ...extraOptions,
192
- }),
193
- );
194
-
195
- const seedersService = app.get(SeederService);
196
- await seedersService.run();
197
-
198
- await app.close();
199
- },
200
- };
201
- };
202
-
203
- // Only run if this file is executed directly
204
- if (require.main === module) {
205
- runSeeder();
206
- }
@@ -1,32 +0,0 @@
1
- import { Faker } from '@faker-js/faker';
2
-
3
- import { FactoryMetadataStorage } from '../storages/factory.metadata.storage';
4
-
5
-
6
- type BaseType = string | number | Date | Buffer | boolean | Record<string, any>;
7
-
8
- export type FactoryValue = BaseType | Array<BaseType>;
9
-
10
- export type FactoryValueGenerator = (
11
- faker?: Faker,
12
- ctx?: Record<string, any>
13
- ) => FactoryValue;
14
-
15
- export function Factory(
16
- generator: FactoryValueGenerator | FactoryValue,
17
- dependsOn?: string[],
18
- ) {
19
- return (
20
- target: Record<string, any>,
21
- propertyKey: string | symbol,
22
- ): void => {
23
- FactoryMetadataStorage.addPropertyMetadata({
24
- target: target.constructor,
25
- propertyKey: propertyKey as string,
26
- arg: {
27
- generator,
28
- dependsOn,
29
- },
30
- });
31
- };
32
- }
@@ -1,96 +0,0 @@
1
- import { faker } from '@faker-js/faker';
2
- import { Type } from '@nestjs/common';
3
-
4
- import { FactoryValue } from '../decorators/factory.decorator';
5
- import { Factory } from '../interfaces';
6
- import {
7
- FactoryMetadataStorage,
8
- PropertyMetadataType,
9
- } from '../storages/factory.metadata.storage';
10
-
11
-
12
- export class DataFactory {
13
-
14
- static createForClass(target: Type<unknown>): Factory {
15
- if (!target) {
16
- throw new Error(
17
- `Target class "${target}" passed in to the "TemplateFactory#createForClass()" method is "undefined".`,
18
- );
19
- }
20
-
21
- const properties = FactoryMetadataStorage.getPropertyMetadatasByTarget(target);
22
-
23
- return {
24
- generate: (
25
- count: number,
26
- values: Record<string, any> = {},
27
- ): Record<string, FactoryValue>[] => {
28
- const ret: Record<string, FactoryValue>[] = [];
29
- for (let i = 0; i < count; i++) {
30
- ret.push(this.generate(properties, values));
31
- }
32
- return ret;
33
- },
34
- };
35
- }
36
-
37
- private static generate(
38
- properties: PropertyMetadataType[],
39
- values: Record<string, any>,
40
- ): Record<string, FactoryValue> {
41
- const ctx = { ...values };
42
-
43
- return properties.reduce((result, property) => {
44
- const propertyKey = property.propertyKey;
45
- const { generator, dependsOn } = property.arg;
46
-
47
- // Skip if the value is already generated in the context (ctx)
48
- if (ctx[propertyKey] !== undefined) {
49
- return {
50
- [propertyKey]: ctx[propertyKey],
51
- ...result,
52
- };
53
- }
54
-
55
- // If the property has dependencies, ensure they are generated first
56
- if (Array.isArray(dependsOn)) {
57
- dependsOn.forEach((dependency) => {
58
- if (ctx[dependency] === undefined) {
59
- // Find the dependent property and generate it if it hasn't been generated yet
60
- const dependentProperty = properties.find(
61
- (p) => p.propertyKey === dependency,
62
- );
63
- if (dependentProperty) {
64
- ctx[dependency] = typeof dependentProperty.arg.generator ===
65
- 'function' ?
66
- dependentProperty.arg.generator(
67
- faker,
68
- ctx,
69
- ) :
70
- dependentProperty.arg;
71
- }
72
- }
73
- });
74
- }
75
-
76
- // Generate the current field
77
- ctx[propertyKey] = typeof generator === 'function' ?
78
- generator(faker, ctx) :
79
- generator;
80
-
81
- return {
82
- [propertyKey]: ctx[propertyKey],
83
- ...result,
84
- };
85
- }, {});
86
-
87
- // return properties.reduce(
88
- // (r, p) => ({
89
- // [p.propertyKey]: ctx[p.propertyKey] = typeof p.arg === 'function' ? p.arg(faker, ctx) : p.arg,
90
- // ...r,
91
- // }),
92
- // {},
93
- // );
94
- }
95
-
96
- }
@@ -1,9 +0,0 @@
1
- import { FactoryValue } from '../decorators/factory.decorator';
2
-
3
-
4
- export interface Factory {
5
- generate(
6
- count: number,
7
- values?: Record<string, any>
8
- ): Record<string, FactoryValue>[];
9
- }
@@ -1,11 +0,0 @@
1
- import {
2
- FactoryValueGenerator,
3
- FactoryValue,
4
- } from '../decorators/factory.decorator';
5
-
6
-
7
- export interface PropertyMetadata {
8
- target: () => void;
9
- propertyKey: string;
10
- arg: FactoryValueGenerator | FactoryValue;
11
- }
@@ -1,97 +0,0 @@
1
- import {
2
- Module,
3
- DynamicModule,
4
- Provider,
5
- Type,
6
- ForwardReference,
7
- } from '@nestjs/common';
8
-
9
- import { Seeder, SeederServiceOptions } from './seeder.interface';
10
- import { SeederService } from './seeder.service';
11
- import { SeederModuleAsyncOptions } from '../interfaces/seeder-module-async-options.interface';
12
- import { SeederOptionsFactory } from '../interfaces/seeder-options-factory.interface';
13
-
14
- export interface SeederModuleExtraOptions extends SeederServiceOptions {
15
- seeders?: Provider<Seeder>[];
16
- plugins?: any[];
17
- }
18
-
19
- export interface SeederModuleOptions extends SeederModuleExtraOptions {
20
- imports?: Array<
21
- Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
22
- >;
23
- providers?: Provider[];
24
- }
25
-
26
- const SEEDER_MODULE_OPTIONS = 'SEEDER_MODULE_OPTIONS';
27
-
28
- @Module({})
29
- export class SeederModule {
30
-
31
- static register(options: SeederModuleOptions): DynamicModule {
32
- return {
33
- module: SeederModule,
34
- imports: options.imports || [],
35
- providers: [
36
- ...(options.providers || []),
37
- ...options.seeders || [],
38
- {
39
- provide: SeederService,
40
- useFactory: (...seeders: Seeder[]): SeederService => {
41
- return new SeederService(seeders, options);
42
- },
43
- inject: (options.seeders || []) as Type<any>[],
44
- },
45
- ],
46
- };
47
- }
48
-
49
- static forRootAsync(options: SeederModuleAsyncOptions): DynamicModule {
50
- return {
51
- module: SeederModule,
52
- global: options.isGlobal,
53
- imports: options.imports || [],
54
- providers: [
55
- ...this.createAsyncProviders(options),
56
- {
57
- provide: SeederService,
58
- useFactory: async (seederOptions: SeederModuleOptions, ...seeders: Seeder[]): Promise<SeederService> => {
59
- return new SeederService(seeders, seederOptions);
60
- },
61
- inject: [SEEDER_MODULE_OPTIONS, ...(options.inject || [])],
62
- },
63
- ],
64
- };
65
- }
66
-
67
- private static createAsyncProviders(options: SeederModuleAsyncOptions): Provider[] {
68
- if (options.useExisting || options.useFactory) {
69
- return [this.createAsyncOptionsProvider(options)];
70
- }
71
-
72
- return [
73
- this.createAsyncOptionsProvider(options),
74
- {
75
- provide: options.useClass!,
76
- useClass: options.useClass!,
77
- },
78
- ];
79
- }
80
-
81
- private static createAsyncOptionsProvider(options: SeederModuleAsyncOptions): Provider {
82
- if (options.useFactory) {
83
- return {
84
- provide: SEEDER_MODULE_OPTIONS,
85
- useFactory: options.useFactory,
86
- inject: options.inject || [],
87
- };
88
- }
89
-
90
- return {
91
- provide: SEEDER_MODULE_OPTIONS,
92
- useFactory: async (optionsFactory: SeederOptionsFactory) =>
93
- await optionsFactory.createSeederOptions(),
94
- inject: [options.useExisting || options.useClass!],
95
- };
96
- }
97
- }
@@ -1,79 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
-
3
- import { Seeder, SeederServiceOptions } from './seeder.interface';
4
-
5
-
6
- @Injectable()
7
- export class SeederService {
8
-
9
- constructor(
10
- private readonly seeders: Seeder[],
11
- private readonly options: SeederServiceOptions = {},
12
- ) { }
13
-
14
- async run(): Promise<any> {
15
- if (this.options.refresh) {
16
- await this.drop();
17
- await this.seed();
18
- } else {
19
- await this.seed();
20
- }
21
- }
22
-
23
- async seed(): Promise<any> {
24
- // Don't use `Promise.all` during insertion.
25
- // `Promise.all` will run all promises in parallel which is not what we want.
26
- const seeders = this.getSeederToRun();
27
-
28
- for (const seeder of seeders) {
29
- console.info(`${seeder.constructor.name} start`);
30
- await seeder.seed(this.options);
31
- console.info(`${seeder.constructor.name} completed`);
32
- }
33
- }
34
-
35
- async drop(): Promise<any> {
36
- const seeders = this.getSeederToRun();
37
- for (const seeder of seeders) {
38
- console.info(`Truncate ${seeder.constructor.name} start`);
39
- await seeder.drop(this.options);
40
- console.info(`Truncate ${seeder.constructor.name} completed`);
41
- }
42
- }
43
-
44
- getSeederToRun(): Seeder[] {
45
- if (this.options?.name && typeof this.options.name === 'string') {
46
- this.options.name = [this.options.name];
47
- }
48
-
49
- if (this.options.name) {
50
- const nameArray = Array.isArray(this.options.name) ? this.options.name : [this.options.name];
51
- const seeders = this.seeders.filter(
52
- (s) => nameArray.indexOf(s.constructor.name) >= 0,
53
- );
54
- if (seeders?.length === 0) {
55
- const allNames = this.seeders.map((s) => s.constructor.name);
56
- console.warn(
57
- '\x1b[43m',
58
- 'Warning : No Seeder Found. Available Name are',
59
- '\x1b[0m',
60
- '\x1b[32m',
61
- '\n',
62
- `${allNames.join('\n')}`,
63
- '\x1b[0m',
64
- );
65
- return [];
66
- }
67
- return seeders;
68
- }
69
- if (this.seeders?.length === 0) {
70
- console.info(
71
- '\x1b[43m',
72
- 'Warning : No seeders to run. Make sure you have passed default seeder',
73
- '\x1b[0m',
74
- );
75
- }
76
- return this.seeders;
77
- }
78
-
79
- }
@@ -1,66 +0,0 @@
1
- import {
2
- Provider,
3
- Type,
4
- DynamicModule,
5
- ForwardReference,
6
- } from '@nestjs/common';
7
- import { NestFactory } from '@nestjs/core';
8
- import yargs from 'yargs';
9
-
10
- import { SeederServiceOptions } from './seeder.interface';
11
- import {
12
- SeederModule,
13
- SeederModuleExtraOptions,
14
- SeederModuleOptions,
15
- } from './seeder.module';
16
- import { SeederService } from './seeder.service';
17
-
18
-
19
- export interface SeederOptions {
20
- imports?: Array<
21
- Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
22
- >;
23
- providers?: Provider[];
24
- }
25
-
26
- export interface SeederRunner {
27
- run(extraOptions: SeederModuleExtraOptions): Promise<void>;
28
- }
29
-
30
- async function bootstrap(options: SeederModuleOptions) {
31
- const app = await NestFactory.createApplicationContext(
32
- SeederModule.register(options),
33
- );
34
-
35
- const seedersService = app.get(SeederService);
36
- await seedersService.run();
37
-
38
- await app.close();
39
- }
40
-
41
- export const seeder = (options: SeederOptions): SeederRunner => {
42
- return {
43
- run(extraOptions: SeederModuleExtraOptions): Promise<void> {
44
- const cliOptions: SeederServiceOptions = {};
45
- const argv:any = yargs(process.argv).argv;
46
- if (argv.r || argv.refresh) {
47
- cliOptions.refresh = true;
48
- }
49
-
50
- if (argv.n || argv.name) {
51
- cliOptions.name = argv.n || argv.name;
52
- }
53
-
54
- if (argv.d || argv.dummyData) {
55
- cliOptions.dummyData = argv.d || argv.dummyData;
56
- }
57
-
58
- extraOptions = Object.assign(extraOptions, cliOptions);
59
-
60
- return bootstrap({
61
- ...options,
62
- ...extraOptions,
63
- });
64
- },
65
- };
66
- };
@@ -1,37 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
-
3
- import {
4
- FactoryValue,
5
- FactoryValueGenerator,
6
- } from '../decorators/factory.decorator';
7
-
8
-
9
- export type PropertyMetadataType = {
10
- target?: any;
11
- propertyKey?: any;
12
- arg: {
13
- generator: FactoryValueGenerator | FactoryValue;
14
- dependsOn?: string[];
15
- };
16
- };
17
-
18
- export class FactoryMetadataStorageHost {
19
-
20
- private properties: PropertyMetadataType[] = [];
21
-
22
- addPropertyMetadata(metadata: PropertyMetadataType): void {
23
- this.properties.push(metadata);
24
- }
25
-
26
- getPropertyMetadatasByTarget(
27
- target: Type<unknown>,
28
- ): PropertyMetadataType[] {
29
- return this.properties.filter((property) => property.target === target);
30
- }
31
-
32
- }
33
-
34
- const globalRef = global as any;
35
-
36
- export const FactoryMetadataStorage: FactoryMetadataStorageHost = globalRef.FactoryMetadataStorage ||
37
- (globalRef.FactoryMetadataStorage = new FactoryMetadataStorageHost());
package/tsconfig.json DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "module": "commonjs",
5
- "forceConsistentCasingInFileNames": true
6
- },
7
- "files": [],
8
- "include": [],
9
- "references": [
10
- {
11
- "path": "./tsconfig.lib.json"
12
- },
13
- {
14
- "path": "./tsconfig.spec.json"
15
- }
16
- ]
17
- }
package/tsconfig.lib.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "../../dist/out-tsc",
5
- "declaration": true,
6
- "types": ["node"],
7
- "target": "es2021",
8
- "experimentalDecorators": true,
9
- "emitDecoratorMetadata": true,
10
- "forceConsistentCasingInFileNames": true
11
- },
12
- "include": ["src/**/*.ts"],
13
- "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
14
- }
@@ -1,15 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "../../dist/out-tsc",
5
- "module": "commonjs",
6
- "moduleResolution": "node10",
7
- "types": ["jest", "node"]
8
- },
9
- "include": [
10
- "jest.config.ts",
11
- "src/**/*.test.ts",
12
- "src/**/*.spec.ts",
13
- "src/**/*.d.ts"
14
- ]
15
- }