@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.
- package/CHANGELOG.md +64 -0
- package/MIGRATION.md +89 -0
- package/QUICKSTART.md +45 -149
- package/README.md +87 -521
- package/dist/cli.js +595 -235
- package/dist/cli.js.map +1 -1
- package/dist/index.d.mts +88 -0
- package/dist/index.d.ts +88 -8
- package/dist/index.js +417 -24
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +390 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +46 -25
- package/dist/cli.d.ts +0 -3
- package/dist/lib/decorators/factory.decorator.d.ts +0 -6
- package/dist/lib/decorators/factory.decorator.js +0 -17
- package/dist/lib/decorators/factory.decorator.js.map +0 -1
- package/dist/lib/factory/data.factory.d.ts +0 -6
- package/dist/lib/factory/data.factory.js +0 -57
- package/dist/lib/factory/data.factory.js.map +0 -1
- package/dist/lib/index.d.ts +0 -4
- package/dist/lib/index.js +0 -21
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/interfaces/factory.interface.d.ts +0 -4
- package/dist/lib/interfaces/factory.interface.js +0 -3
- package/dist/lib/interfaces/factory.interface.js.map +0 -1
- package/dist/lib/interfaces/index.d.ts +0 -2
- package/dist/lib/interfaces/index.js +0 -19
- package/dist/lib/interfaces/index.js.map +0 -1
- package/dist/lib/interfaces/property-metadata.interface.d.ts +0 -6
- package/dist/lib/interfaces/property-metadata.interface.js +0 -3
- package/dist/lib/interfaces/property-metadata.interface.js.map +0 -1
- package/dist/lib/interfaces/seeder-module-async-options.interface.d.ts +0 -10
- package/dist/lib/interfaces/seeder-module-async-options.interface.js +0 -3
- package/dist/lib/interfaces/seeder-module-async-options.interface.js.map +0 -1
- package/dist/lib/interfaces/seeder-options-factory.interface.d.ts +0 -4
- package/dist/lib/interfaces/seeder-options-factory.interface.js +0 -3
- package/dist/lib/interfaces/seeder-options-factory.interface.js.map +0 -1
- package/dist/lib/seeder/seeder.d.ts +0 -10
- package/dist/lib/seeder/seeder.interface.d.ts +0 -9
- package/dist/lib/seeder/seeder.interface.js +0 -3
- package/dist/lib/seeder/seeder.interface.js.map +0 -1
- package/dist/lib/seeder/seeder.js +0 -40
- package/dist/lib/seeder/seeder.js.map +0 -1
- package/dist/lib/seeder/seeder.module.d.ts +0 -17
- package/dist/lib/seeder/seeder.module.js +0 -80
- package/dist/lib/seeder/seeder.module.js.map +0 -1
- package/dist/lib/seeder/seeder.service.d.ts +0 -10
- package/dist/lib/seeder/seeder.service.js +0 -73
- package/dist/lib/seeder/seeder.service.js.map +0 -1
- package/dist/lib/storages/factory.metadata.storage.d.ts +0 -16
- package/dist/lib/storages/factory.metadata.storage.js +0 -17
- package/dist/lib/storages/factory.metadata.storage.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/examples/post.seeder.example.ts +0 -65
- package/examples/product.factory.example.ts +0 -84
- package/examples/seed.script.example.ts +0 -32
- package/examples/seeder.config.example.ts +0 -50
- package/examples/user.factory.example.ts +0 -59
- 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"}
|
package/dist/lib/index.d.ts
DELETED
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
|
package/dist/lib/index.js.map
DELETED
|
@@ -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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/factory.interface.ts"],"names":[],"mappings":""}
|
|
@@ -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 +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 +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 +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 +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"}
|