@ackplus/nest-seeder 1.1.17 → 2.0.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 (60) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/MIGRATION.md +89 -0
  3. package/QUICKSTART.md +45 -149
  4. package/README.md +87 -521
  5. package/dist/cli.js +595 -235
  6. package/dist/cli.js.map +1 -1
  7. package/dist/index.d.mts +88 -0
  8. package/dist/index.d.ts +88 -8
  9. package/dist/index.js +417 -24
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +390 -0
  12. package/dist/index.mjs.map +1 -0
  13. package/package.json +46 -25
  14. package/dist/cli.d.ts +0 -3
  15. package/dist/lib/decorators/factory.decorator.d.ts +0 -6
  16. package/dist/lib/decorators/factory.decorator.js +0 -17
  17. package/dist/lib/decorators/factory.decorator.js.map +0 -1
  18. package/dist/lib/factory/data.factory.d.ts +0 -6
  19. package/dist/lib/factory/data.factory.js +0 -57
  20. package/dist/lib/factory/data.factory.js.map +0 -1
  21. package/dist/lib/index.d.ts +0 -4
  22. package/dist/lib/index.js +0 -21
  23. package/dist/lib/index.js.map +0 -1
  24. package/dist/lib/interfaces/factory.interface.d.ts +0 -4
  25. package/dist/lib/interfaces/factory.interface.js +0 -3
  26. package/dist/lib/interfaces/factory.interface.js.map +0 -1
  27. package/dist/lib/interfaces/index.d.ts +0 -2
  28. package/dist/lib/interfaces/index.js +0 -19
  29. package/dist/lib/interfaces/index.js.map +0 -1
  30. package/dist/lib/interfaces/property-metadata.interface.d.ts +0 -6
  31. package/dist/lib/interfaces/property-metadata.interface.js +0 -3
  32. package/dist/lib/interfaces/property-metadata.interface.js.map +0 -1
  33. package/dist/lib/interfaces/seeder-module-async-options.interface.d.ts +0 -10
  34. package/dist/lib/interfaces/seeder-module-async-options.interface.js +0 -3
  35. package/dist/lib/interfaces/seeder-module-async-options.interface.js.map +0 -1
  36. package/dist/lib/interfaces/seeder-options-factory.interface.d.ts +0 -4
  37. package/dist/lib/interfaces/seeder-options-factory.interface.js +0 -3
  38. package/dist/lib/interfaces/seeder-options-factory.interface.js.map +0 -1
  39. package/dist/lib/seeder/seeder.d.ts +0 -10
  40. package/dist/lib/seeder/seeder.interface.d.ts +0 -9
  41. package/dist/lib/seeder/seeder.interface.js +0 -3
  42. package/dist/lib/seeder/seeder.interface.js.map +0 -1
  43. package/dist/lib/seeder/seeder.js +0 -40
  44. package/dist/lib/seeder/seeder.js.map +0 -1
  45. package/dist/lib/seeder/seeder.module.d.ts +0 -17
  46. package/dist/lib/seeder/seeder.module.js +0 -80
  47. package/dist/lib/seeder/seeder.module.js.map +0 -1
  48. package/dist/lib/seeder/seeder.service.d.ts +0 -10
  49. package/dist/lib/seeder/seeder.service.js +0 -73
  50. package/dist/lib/seeder/seeder.service.js.map +0 -1
  51. package/dist/lib/storages/factory.metadata.storage.d.ts +0 -16
  52. package/dist/lib/storages/factory.metadata.storage.js +0 -17
  53. package/dist/lib/storages/factory.metadata.storage.js.map +0 -1
  54. package/dist/tsconfig.build.tsbuildinfo +0 -1
  55. package/examples/post.seeder.example.ts +0 -65
  56. package/examples/product.factory.example.ts +0 -84
  57. package/examples/seed.script.example.ts +0 -32
  58. package/examples/seeder.config.example.ts +0 -50
  59. package/examples/user.factory.example.ts +0 -59
  60. package/examples/user.seeder.example.ts +0 -55
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataFactory = void 0;
4
- const faker_1 = require("@faker-js/faker");
5
- const factory_metadata_storage_1 = require("../storages/factory.metadata.storage");
6
- class DataFactory {
7
- static createForClass(target) {
8
- if (!target) {
9
- throw new Error(`Target class "${target}" passed in to the "TemplateFactory#createForClass()" method is "undefined".`);
10
- }
11
- const properties = factory_metadata_storage_1.FactoryMetadataStorage.getPropertyMetadatasByTarget(target);
12
- return {
13
- generate: (count, values = {}) => {
14
- const ret = [];
15
- for (let i = 0; i < count; i++) {
16
- ret.push(this.generate(properties, values));
17
- }
18
- return ret;
19
- },
20
- };
21
- }
22
- static generate(properties, values) {
23
- const ctx = { ...values };
24
- return properties.reduce((result, property) => {
25
- const propertyKey = property.propertyKey;
26
- const { generator, dependsOn } = property.arg;
27
- if (ctx[propertyKey] !== undefined) {
28
- return {
29
- [propertyKey]: ctx[propertyKey],
30
- ...result,
31
- };
32
- }
33
- if (Array.isArray(dependsOn)) {
34
- dependsOn.forEach((dependency) => {
35
- if (ctx[dependency] === undefined) {
36
- const dependentProperty = properties.find((p) => p.propertyKey === dependency);
37
- if (dependentProperty) {
38
- ctx[dependency] = typeof dependentProperty.arg.generator ===
39
- 'function' ?
40
- dependentProperty.arg.generator(faker_1.faker, ctx) :
41
- dependentProperty.arg;
42
- }
43
- }
44
- });
45
- }
46
- ctx[propertyKey] = typeof generator === 'function' ?
47
- generator(faker_1.faker, ctx) :
48
- generator;
49
- return {
50
- [propertyKey]: ctx[propertyKey],
51
- ...result,
52
- };
53
- }, {});
54
- }
55
- }
56
- exports.DataFactory = DataFactory;
57
- //# sourceMappingURL=data.factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.factory.js","sourceRoot":"","sources":["../../../src/lib/factory/data.factory.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAKxC,mFAG8C;AAG9C,MAAa,WAAW;IAEpB,MAAM,CAAC,cAAc,CAAC,MAAqB;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACX,iBAAiB,MAAM,8EAA8E,CACxG,CAAC;QACN,CAAC;QAED,MAAM,UAAU,GAAG,iDAAsB,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAE/E,OAAO;YACH,QAAQ,EAAE,CACN,KAAa,EACb,SAA8B,EAAE,EACF,EAAE;gBAChC,MAAM,GAAG,GAAmC,EAAE,CAAC;gBAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC;SACJ,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,QAAQ,CACnB,UAAkC,EAClC,MAA2B;QAE3B,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAE1B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YACzC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC;YAG9C,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO;oBACH,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;oBAC/B,GAAG,MAAM;iBACZ,CAAC;YACN,CAAC;YAGD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;wBAEhC,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CACtC,CAAC;wBACF,IAAI,iBAAiB,EAAE,CAAC;4BACpB,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,iBAAiB,CAAC,GAAG,CAAC,SAAS;gCACpD,UAAU,CAAC,CAAC;gCACZ,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAC3B,aAAK,EACL,GAAG,CACN,CAAC,CAAC;gCACH,iBAAiB,CAAC,GAAG,CAAC;wBAC9B,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAGD,GAAG,CAAC,WAAW,CAAC,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC;gBAChD,SAAS,CAAC,aAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBACvB,SAAS,CAAC;YAEd,OAAO;gBACH,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;gBAC/B,GAAG,MAAM;aACZ,CAAC;QACN,CAAC,EAAE,EAAE,CAAC,CAAC;IASX,CAAC;CAEJ;AApFD,kCAoFC"}
@@ -1,4 +0,0 @@
1
- export * from './seeder/seeder';
2
- export * from './seeder/seeder.interface';
3
- export * from './factory/data.factory';
4
- export * from './decorators/factory.decorator';
package/dist/lib/index.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./seeder/seeder"), exports);
18
- __exportStar(require("./seeder/seeder.interface"), exports);
19
- __exportStar(require("./factory/data.factory"), exports);
20
- __exportStar(require("./decorators/factory.decorator"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAEhC,4DAA0C;AAE1C,yDAAuC;AAEvC,iEAA+C"}
@@ -1,4 +0,0 @@
1
- import { FactoryValue } from '../decorators/factory.decorator';
2
- export interface Factory {
3
- generate(count: number, values?: Record<string, any>): Record<string, FactoryValue>[];
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=factory.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/factory.interface.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export * from './property-metadata.interface';
2
- export * from './factory.interface';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./property-metadata.interface"), exports);
18
- __exportStar(require("./factory.interface"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAE9C,sDAAoC"}
@@ -1,6 +0,0 @@
1
- import { FactoryValueGenerator, FactoryValue } from '../decorators/factory.decorator';
2
- export interface PropertyMetadata {
3
- target: () => void;
4
- propertyKey: string;
5
- arg: FactoryValueGenerator | FactoryValue;
6
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=property-metadata.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"property-metadata.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/property-metadata.interface.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { Type, ModuleMetadata } from '@nestjs/common';
2
- import { SeederModuleOptions } from '../seeder/seeder.module';
3
- import { SeederOptionsFactory } from './seeder-options-factory.interface';
4
- export interface SeederModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
5
- isGlobal?: boolean;
6
- useFactory?: (...args: any[]) => Promise<SeederModuleOptions> | SeederModuleOptions;
7
- useClass?: Type<SeederOptionsFactory>;
8
- useExisting?: Type<SeederOptionsFactory>;
9
- inject?: any[];
10
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=seeder-module-async-options.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seeder-module-async-options.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/seeder-module-async-options.interface.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { SeederModuleOptions } from '../seeder/seeder.module';
2
- export interface SeederOptionsFactory {
3
- createSeederOptions(): Promise<SeederModuleOptions> | SeederModuleOptions;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=seeder-options-factory.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seeder-options-factory.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/seeder-options-factory.interface.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
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;
@@ -1,9 +0,0 @@
1
- export interface SeederServiceOptions {
2
- name?: string | string[];
3
- refresh?: boolean;
4
- dummyData?: boolean;
5
- }
6
- export interface Seeder {
7
- seed(options: SeederServiceOptions): Promise<any>;
8
- drop(options: SeederServiceOptions): Promise<any>;
9
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=seeder.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seeder.interface.js","sourceRoot":"","sources":["../../../src/lib/seeder/seeder.interface.ts"],"names":[],"mappings":""}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.seeder = void 0;
7
- const core_1 = require("@nestjs/core");
8
- const yargs_1 = __importDefault(require("yargs"));
9
- const seeder_module_1 = require("./seeder.module");
10
- const seeder_service_1 = require("./seeder.service");
11
- async function bootstrap(options) {
12
- const app = await core_1.NestFactory.createApplicationContext(seeder_module_1.SeederModule.register(options));
13
- const seedersService = app.get(seeder_service_1.SeederService);
14
- await seedersService.run();
15
- await app.close();
16
- }
17
- const seeder = (options) => {
18
- return {
19
- run(extraOptions) {
20
- const cliOptions = {};
21
- const argv = (0, yargs_1.default)(process.argv).argv;
22
- if (argv.r || argv.refresh) {
23
- cliOptions.refresh = true;
24
- }
25
- if (argv.n || argv.name) {
26
- cliOptions.name = argv.n || argv.name;
27
- }
28
- if (argv.d || argv.dummyData) {
29
- cliOptions.dummyData = argv.d || argv.dummyData;
30
- }
31
- extraOptions = Object.assign(extraOptions, cliOptions);
32
- return bootstrap({
33
- ...options,
34
- ...extraOptions,
35
- });
36
- },
37
- };
38
- };
39
- exports.seeder = seeder;
40
- //# sourceMappingURL=seeder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seeder.js","sourceRoot":"","sources":["../../../src/lib/seeder/seeder.ts"],"names":[],"mappings":";;;;;;AAMA,uCAA2C;AAC3C,kDAA0B;AAG1B,mDAIyB;AACzB,qDAAiD;AAcjD,KAAK,UAAU,SAAS,CAAC,OAA4B;IACjD,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAClD,4BAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CACjC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,8BAAa,CAAC,CAAC;IAC9C,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC;IAE3B,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAEM,MAAM,MAAM,GAAG,CAAC,OAAsB,EAAgB,EAAE;IAC3D,OAAO;QACH,GAAG,CAAC,YAAsC;YACtC,MAAM,UAAU,GAAyB,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAO,IAAA,eAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAC1C,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,CAAC;YAED,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YAC1C,CAAC;YAED,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;YACpD,CAAC;YAED,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAEvD,OAAO,SAAS,CAAC;gBACb,GAAG,OAAO;gBACV,GAAG,YAAY;aAClB,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAzBW,QAAA,MAAM,UAyBjB"}
@@ -1,17 +0,0 @@
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
- }
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var SeederModule_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.SeederModule = void 0;
11
- const common_1 = require("@nestjs/common");
12
- const seeder_service_1 = require("./seeder.service");
13
- const SEEDER_MODULE_OPTIONS = 'SEEDER_MODULE_OPTIONS';
14
- let SeederModule = SeederModule_1 = class SeederModule {
15
- static register(options) {
16
- return {
17
- module: SeederModule_1,
18
- imports: options.imports || [],
19
- providers: [
20
- ...(options.providers || []),
21
- ...options.seeders || [],
22
- {
23
- provide: seeder_service_1.SeederService,
24
- useFactory: (...seeders) => {
25
- return new seeder_service_1.SeederService(seeders, options);
26
- },
27
- inject: (options.seeders || []),
28
- },
29
- ],
30
- };
31
- }
32
- static forRootAsync(options) {
33
- return {
34
- module: SeederModule_1,
35
- global: options.isGlobal,
36
- imports: options.imports || [],
37
- providers: [
38
- ...this.createAsyncProviders(options),
39
- {
40
- provide: seeder_service_1.SeederService,
41
- useFactory: (seederOptions, ...seeders) => {
42
- return new seeder_service_1.SeederService(seeders, seederOptions);
43
- },
44
- inject: [SEEDER_MODULE_OPTIONS, ...(options.inject || [])],
45
- },
46
- ],
47
- };
48
- }
49
- static createAsyncProviders(options) {
50
- if (options.useExisting || options.useFactory) {
51
- return [this.createAsyncOptionsProvider(options)];
52
- }
53
- return [
54
- this.createAsyncOptionsProvider(options),
55
- {
56
- provide: options.useClass,
57
- useClass: options.useClass,
58
- },
59
- ];
60
- }
61
- static createAsyncOptionsProvider(options) {
62
- if (options.useFactory) {
63
- return {
64
- provide: SEEDER_MODULE_OPTIONS,
65
- useFactory: options.useFactory,
66
- inject: options.inject || [],
67
- };
68
- }
69
- return {
70
- provide: SEEDER_MODULE_OPTIONS,
71
- useFactory: async (optionsFactory) => await optionsFactory.createSeederOptions(),
72
- inject: [options.useExisting || options.useClass],
73
- };
74
- }
75
- };
76
- exports.SeederModule = SeederModule;
77
- exports.SeederModule = SeederModule = SeederModule_1 = __decorate([
78
- (0, common_1.Module)({})
79
- ], SeederModule);
80
- //# sourceMappingURL=seeder.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seeder.module.js","sourceRoot":"","sources":["../../../src/lib/seeder/seeder.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAMwB;AAGxB,qDAAiD;AAgBjD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAG/C,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAErB,MAAM,CAAC,QAAQ,CAAC,OAA4B;QACxC,OAAO;YACH,MAAM,EAAE,cAAY;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC5B,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE;gBACxB;oBACI,OAAO,EAAE,8BAAa;oBACtB,UAAU,EAAE,CAAC,GAAG,OAAiB,EAAiB,EAAE;wBAChD,OAAO,IAAI,8BAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC/C,CAAC;oBACD,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAgB;iBACjD;aACJ;SACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAiC;QACjD,OAAO;YACH,MAAM,EAAE,cAAY;YACpB,MAAM,EAAE,OAAO,CAAC,QAAQ;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACP,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBACrC;oBACI,OAAO,EAAE,8BAAa;oBACtB,UAAU,EAAG,CAAC,aAAkC,EAAE,GAAG,OAAiB,EAA0C,EAAE;wBAC9G,OAAO,IAAI,8BAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;oBACrD,CAAC;oBACD,MAAM,EAAE,CAAC,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAgB,CAAC;iBAC5E;aACJ;SACJ,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,OAAiC;QACjE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACH,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACxC;gBACI,OAAO,EAAE,OAAO,CAAC,QAAS;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAS;aAC9B;SACJ,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAAC,OAAiC;QACvE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;gBACH,OAAO,EAAE,qBAAqB;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC/B,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO,EAAE,qBAAqB;YAC9B,UAAU,EAAE,KAAK,EAAE,cAAoC,EAAE,EAAE,CACvD,MAAM,cAAc,CAAC,mBAAmB,EAAE;YAC9C,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAS,CAAC;SACrD,CAAC;IACN,CAAC;CACJ,CAAA;AApEY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAoExB"}
@@ -1,10 +0,0 @@
1
- import type { 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
- }
@@ -1,73 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SeederService = void 0;
13
- const common_1 = require("@nestjs/common");
14
- let SeederService = class SeederService {
15
- seeders;
16
- options;
17
- constructor(seeders, options = {}) {
18
- this.seeders = seeders;
19
- this.options = options;
20
- }
21
- async run() {
22
- if (this.options.refresh) {
23
- await this.drop();
24
- await this.seed();
25
- }
26
- else {
27
- await this.seed();
28
- }
29
- }
30
- async seed() {
31
- const seeders = this.getSeederToRun();
32
- for (const seeder of seeders) {
33
- console.info(`${seeder.constructor.name} start`);
34
- await seeder.seed(this.options);
35
- console.info(`${seeder.constructor.name} completed`);
36
- }
37
- }
38
- async drop() {
39
- const seeders = this.getSeederToRun();
40
- for (const seeder of seeders) {
41
- console.info(`Truncate ${seeder.constructor.name} start`);
42
- await seeder.drop(this.options);
43
- console.info(`Truncate ${seeder.constructor.name} completed`);
44
- }
45
- }
46
- getSeederToRun() {
47
- if (this.options?.name && typeof this.options.name === 'string') {
48
- this.options.name = [this.options.name];
49
- }
50
- if (this.options.name) {
51
- const nameArray = Array.isArray(this.options.name)
52
- ? this.options.name
53
- : [this.options.name];
54
- const seeders = this.seeders.filter((s) => nameArray.indexOf(s.constructor.name) >= 0);
55
- if (seeders?.length === 0) {
56
- const allNames = this.seeders.map((s) => s.constructor.name);
57
- console.warn('\x1b[43m', 'Warning : No Seeder Found. Available Name are', '\x1b[0m', '\x1b[32m', '\n', `${allNames.join('\n')}`, '\x1b[0m');
58
- return [];
59
- }
60
- return seeders;
61
- }
62
- if (this.seeders?.length === 0) {
63
- console.info('\x1b[43m', 'Warning : No seeders to run. Make sure you have passed default seeder', '\x1b[0m');
64
- }
65
- return this.seeders;
66
- }
67
- };
68
- exports.SeederService = SeederService;
69
- exports.SeederService = SeederService = __decorate([
70
- (0, common_1.Injectable)(),
71
- __metadata("design:paramtypes", [Array, Object])
72
- ], SeederService);
73
- //# sourceMappingURL=seeder.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seeder.service.js","sourceRoot":"","sources":["../../../src/lib/seeder/seeder.service.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
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;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FactoryMetadataStorage = exports.FactoryMetadataStorageHost = void 0;
4
- class FactoryMetadataStorageHost {
5
- properties = [];
6
- addPropertyMetadata(metadata) {
7
- this.properties.push(metadata);
8
- }
9
- getPropertyMetadatasByTarget(target) {
10
- return this.properties.filter((property) => property.target === target);
11
- }
12
- }
13
- exports.FactoryMetadataStorageHost = FactoryMetadataStorageHost;
14
- const globalRef = global;
15
- exports.FactoryMetadataStorage = globalRef.FactoryMetadataStorage ||
16
- (globalRef.FactoryMetadataStorage = new FactoryMetadataStorageHost());
17
- //# sourceMappingURL=factory.metadata.storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.metadata.storage.js","sourceRoot":"","sources":["../../../src/lib/storages/factory.metadata.storage.ts"],"names":[],"mappings":";;;AAiBA,MAAa,0BAA0B;IAE3B,UAAU,GAA2B,EAAE,CAAC;IAEhD,mBAAmB,CAAC,QAA8B;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,4BAA4B,CACxB,MAAqB;QAErB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC5E,CAAC;CAEJ;AAdD,gEAcC;AAED,MAAM,SAAS,GAAG,MAAa,CAAC;AAEnB,QAAA,sBAAsB,GAA+B,SAAS,CAAC,sBAAsB;IAC9F,CAAC,SAAS,CAAC,sBAAsB,GAAG,IAAI,0BAA0B,EAAE,CAAC,CAAC"}