@ackplus/nest-seeder 0.1.51 → 1.1.1
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/README.md +6 -407
- package/eslint.config.mjs +22 -0
- package/jest.config.ts +10 -0
- package/package.json +3 -30
- package/project.json +38 -0
- package/src/cli.ts +206 -0
- package/src/{index.d.ts → index.ts} +7 -0
- package/src/lib/decorators/factory.decorator.ts +32 -0
- package/src/lib/factory/data.factory.ts +96 -0
- package/src/lib/{index.d.ts → index.ts} +3 -0
- package/src/lib/interfaces/factory.interface.ts +9 -0
- package/src/lib/interfaces/{index.d.ts → index.ts} +1 -0
- package/src/lib/interfaces/{property-metadata.interface.d.ts → property-metadata.interface.ts} +6 -1
- package/src/lib/interfaces/{seeder-module-async-options.interface.d.ts → seeder-module-async-options.interface.ts} +23 -0
- package/src/lib/interfaces/{seeder-options-factory.interface.d.ts → seeder-options-factory.interface.ts} +5 -0
- package/src/lib/seeder/{seeder.interface.d.ts → seeder.interface.ts} +1 -0
- package/src/lib/seeder/seeder.module.ts +97 -0
- package/src/lib/seeder/seeder.service.ts +79 -0
- package/src/lib/seeder/seeder.ts +66 -0
- package/src/lib/storages/factory.metadata.storage.ts +37 -0
- package/tsconfig.json +17 -0
- package/tsconfig.lib.json +14 -0
- package/tsconfig.spec.json +15 -0
- package/src/cli.d.ts +0 -3
- package/src/cli.js +0 -168
- package/src/cli.js.map +0 -1
- package/src/index.js +0 -12
- package/src/index.js.map +0 -1
- package/src/lib/decorators/factory.decorator.d.ts +0 -6
- package/src/lib/decorators/factory.decorator.js +0 -17
- package/src/lib/decorators/factory.decorator.js.map +0 -1
- package/src/lib/factory/data.factory.d.ts +0 -6
- package/src/lib/factory/data.factory.js +0 -51
- package/src/lib/factory/data.factory.js.map +0 -1
- package/src/lib/index.js +0 -8
- package/src/lib/index.js.map +0 -1
- package/src/lib/interfaces/factory.interface.d.ts +0 -4
- package/src/lib/interfaces/factory.interface.js +0 -3
- package/src/lib/interfaces/factory.interface.js.map +0 -1
- package/src/lib/interfaces/index.js +0 -6
- package/src/lib/interfaces/index.js.map +0 -1
- package/src/lib/interfaces/property-metadata.interface.js +0 -3
- package/src/lib/interfaces/property-metadata.interface.js.map +0 -1
- package/src/lib/interfaces/seeder-module-async-options.interface.js +0 -3
- package/src/lib/interfaces/seeder-module-async-options.interface.js.map +0 -1
- package/src/lib/interfaces/seeder-options-factory.interface.js +0 -3
- package/src/lib/interfaces/seeder-options-factory.interface.js.map +0 -1
- package/src/lib/seeder/seeder.d.ts +0 -10
- package/src/lib/seeder/seeder.interface.js +0 -3
- package/src/lib/seeder/seeder.interface.js.map +0 -1
- package/src/lib/seeder/seeder.js +0 -37
- package/src/lib/seeder/seeder.js.map +0 -1
- package/src/lib/seeder/seeder.module.d.ts +0 -17
- package/src/lib/seeder/seeder.module.js +0 -75
- package/src/lib/seeder/seeder.module.js.map +0 -1
- package/src/lib/seeder/seeder.service.d.ts +0 -10
- package/src/lib/seeder/seeder.service.js +0 -67
- package/src/lib/seeder/seeder.service.js.map +0 -1
- package/src/lib/storages/factory.metadata.storage.d.ts +0 -16
- package/src/lib/storages/factory.metadata.storage.js +0 -19
- package/src/lib/storages/factory.metadata.storage.js.map +0 -1
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,37 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
}
|
package/src/cli.d.ts
DELETED
package/src/cli.js
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.seeder = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const seeder_module_1 = require("./lib/seeder/seeder.module");
|
|
7
|
-
const yargs_1 = tslib_1.__importDefault(require("yargs"));
|
|
8
|
-
const core_1 = require("@nestjs/core");
|
|
9
|
-
const seeder_service_1 = require("./lib/seeder/seeder.service");
|
|
10
|
-
const path = tslib_1.__importStar(require("path"));
|
|
11
|
-
const fs = tslib_1.__importStar(require("fs"));
|
|
12
|
-
function parseArguments() {
|
|
13
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
-
const argv = yield (0, yargs_1.default)(process.argv.slice(2))
|
|
15
|
-
.option('refresh', {
|
|
16
|
-
alias: 'r',
|
|
17
|
-
type: 'boolean',
|
|
18
|
-
description: 'Drop all data before seeding',
|
|
19
|
-
default: false
|
|
20
|
-
})
|
|
21
|
-
.option('name', {
|
|
22
|
-
alias: 'n',
|
|
23
|
-
type: 'array',
|
|
24
|
-
string: true,
|
|
25
|
-
description: 'Specific seeder names to run',
|
|
26
|
-
})
|
|
27
|
-
.option('dummyData', {
|
|
28
|
-
alias: 'd',
|
|
29
|
-
type: 'boolean',
|
|
30
|
-
description: 'Include dummy data',
|
|
31
|
-
default: false
|
|
32
|
-
})
|
|
33
|
-
.option('config', {
|
|
34
|
-
alias: 'c',
|
|
35
|
-
type: 'string',
|
|
36
|
-
description: 'Path to seeder configuration file',
|
|
37
|
-
demandOption: true
|
|
38
|
-
})
|
|
39
|
-
.help()
|
|
40
|
-
.example('nest-seed -c ./seeder.config.ts', 'Run all seeders')
|
|
41
|
-
.example('nest-seed -c ./seeder.config.ts --refresh', 'Drop and reseed all data')
|
|
42
|
-
.example('nest-seed -c ./seeder.config.ts --name UserSeeder', 'Run specific seeder')
|
|
43
|
-
.parseAsync();
|
|
44
|
-
return {
|
|
45
|
-
refresh: argv.refresh,
|
|
46
|
-
name: argv.name,
|
|
47
|
-
dummyData: argv.dummyData,
|
|
48
|
-
config: argv.config,
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
function setupTsNode() {
|
|
53
|
-
try {
|
|
54
|
-
require('ts-node').register({
|
|
55
|
-
transpileOnly: true,
|
|
56
|
-
compilerOptions: {
|
|
57
|
-
module: 'commonjs',
|
|
58
|
-
experimentalDecorators: true,
|
|
59
|
-
emitDecoratorMetadata: true,
|
|
60
|
-
esModuleInterop: true,
|
|
61
|
-
allowSyntheticDefaultImports: true,
|
|
62
|
-
skipLibCheck: true,
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
console.error('Failed to setup TypeScript support. Make sure ts-node is installed:');
|
|
68
|
-
console.error('npm install -D ts-node typescript');
|
|
69
|
-
process.exit(1);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
function loadSeederConfig(configPath) {
|
|
73
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
try {
|
|
75
|
-
const resolvedPath = path.resolve(process.cwd(), configPath);
|
|
76
|
-
if (!fs.existsSync(resolvedPath)) {
|
|
77
|
-
throw new Error(`Configuration file not found: ${resolvedPath}`);
|
|
78
|
-
}
|
|
79
|
-
if (configPath.endsWith('.ts')) {
|
|
80
|
-
setupTsNode();
|
|
81
|
-
}
|
|
82
|
-
delete require.cache[resolvedPath];
|
|
83
|
-
const configModule = yield Promise.resolve(`${resolvedPath}`).then(s => tslib_1.__importStar(require(s)));
|
|
84
|
-
const config = configModule.default || configModule;
|
|
85
|
-
if (!config) {
|
|
86
|
-
throw new Error('Configuration file must export a default configuration object');
|
|
87
|
-
}
|
|
88
|
-
return config;
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
console.error('Error loading seeder configuration:');
|
|
92
|
-
console.error(error.message);
|
|
93
|
-
console.error('\nMake sure your configuration file:');
|
|
94
|
-
console.error('1. Exists at the specified path');
|
|
95
|
-
console.error('2. Exports a default configuration object');
|
|
96
|
-
console.error('3. Has proper TypeScript setup if using .ts files');
|
|
97
|
-
process.exit(1);
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
function runSeeder() {
|
|
102
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
try {
|
|
104
|
-
const args = yield parseArguments();
|
|
105
|
-
console.log('🌱 Starting NestJS Seeder...');
|
|
106
|
-
console.log(`📁 Loading configuration from: ${args.config}`);
|
|
107
|
-
const seederConfig = yield loadSeederConfig(args.config);
|
|
108
|
-
const cliOptions = {
|
|
109
|
-
refresh: args.refresh,
|
|
110
|
-
name: args.name,
|
|
111
|
-
dummyData: args.dummyData,
|
|
112
|
-
};
|
|
113
|
-
if (args.refresh) {
|
|
114
|
-
console.log('🔄 Refresh mode: Will drop existing data before seeding');
|
|
115
|
-
}
|
|
116
|
-
if (args.name && args.name.length > 0) {
|
|
117
|
-
console.log(`🎯 Running specific seeders: ${args.name.join(', ')}`);
|
|
118
|
-
}
|
|
119
|
-
if (args.dummyData) {
|
|
120
|
-
console.log('🎲 Dummy data mode enabled');
|
|
121
|
-
}
|
|
122
|
-
const app = yield core_1.NestFactory.createApplicationContext(seeder_module_1.SeederModule.register(Object.assign(Object.assign({}, seederConfig), cliOptions)));
|
|
123
|
-
const seedersService = app.get(seeder_service_1.SeederService);
|
|
124
|
-
yield seedersService.run();
|
|
125
|
-
yield app.close();
|
|
126
|
-
console.log('✅ Seeding completed successfully!');
|
|
127
|
-
process.exit(0);
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
console.error('❌ Error running seeder:');
|
|
131
|
-
console.error(error.message);
|
|
132
|
-
if (error.stack && process.env.NODE_ENV === 'development') {
|
|
133
|
-
console.error('\nStack trace:');
|
|
134
|
-
console.error(error.stack);
|
|
135
|
-
}
|
|
136
|
-
process.exit(1);
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
const seeder = (options) => {
|
|
141
|
-
return {
|
|
142
|
-
run(extraOptions) {
|
|
143
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
const cliOptions = {};
|
|
145
|
-
const argv = (0, yargs_1.default)(process.argv).argv;
|
|
146
|
-
if (argv.r || argv.refresh) {
|
|
147
|
-
cliOptions.refresh = true;
|
|
148
|
-
}
|
|
149
|
-
if (argv.n || argv.name) {
|
|
150
|
-
cliOptions.name = argv.n || argv.name;
|
|
151
|
-
}
|
|
152
|
-
if (argv.d || argv.dummyData) {
|
|
153
|
-
cliOptions.dummyData = argv.d || argv.dummyData;
|
|
154
|
-
}
|
|
155
|
-
extraOptions = Object.assign(extraOptions, cliOptions);
|
|
156
|
-
const app = yield core_1.NestFactory.createApplicationContext(seeder_module_1.SeederModule.register(Object.assign(Object.assign({}, options), extraOptions)));
|
|
157
|
-
const seedersService = app.get(seeder_service_1.SeederService);
|
|
158
|
-
yield seedersService.run();
|
|
159
|
-
yield app.close();
|
|
160
|
-
});
|
|
161
|
-
},
|
|
162
|
-
};
|
|
163
|
-
};
|
|
164
|
-
exports.seeder = seeder;
|
|
165
|
-
if (require.main === module) {
|
|
166
|
-
runSeeder();
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=cli.js.map
|
package/src/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/nest-seeder/src/cli.ts"],"names":[],"mappings":"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"}
|
package/src/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./lib/seeder/seeder"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./lib/seeder/seeder.interface"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./lib/seeder/seeder.module"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./lib/seeder/seeder.service"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./lib/factory/data.factory"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./lib/decorators/factory.decorator"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./lib/interfaces/seeder-options-factory.interface"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./lib/interfaces/seeder-module-async-options.interface"), exports);
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nest-seeder/src/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AAEpC,wEAA8C;AAE9C,qEAA2C;AAE3C,sEAA4C;AAE5C,qEAA2C;AAE3C,6EAAmD;AAEnD,4FAAkE;AAElE,iGAAuE"}
|
|
@@ -1,6 +0,0 @@
|
|
|
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 {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Factory = Factory;
|
|
4
|
-
const factory_metadata_storage_1 = require("../storages/factory.metadata.storage");
|
|
5
|
-
function Factory(generator, dependsOn) {
|
|
6
|
-
return (target, propertyKey) => {
|
|
7
|
-
factory_metadata_storage_1.FactoryMetadataStorage.addPropertyMetadata({
|
|
8
|
-
target: target.constructor,
|
|
9
|
-
propertyKey: propertyKey,
|
|
10
|
-
arg: {
|
|
11
|
-
generator,
|
|
12
|
-
dependsOn,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=factory.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.decorator.js","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/decorators/factory.decorator.ts"],"names":[],"mappings":";;AAcA,0BAiBC;AA7BD,mFAA8E;AAY9E,SAAgB,OAAO,CACnB,SAA+C,EAC/C,SAAoB;IAEpB,OAAO,CACH,MAA2B,EAC3B,WAA4B,EACxB,EAAE;QACN,iDAAsB,CAAC,mBAAmB,CAAC;YACvC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,WAAW,EAAE,WAAqB;YAClC,GAAG,EAAE;gBACD,SAAS;gBACT,SAAS;aACZ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,51 +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 = Object.assign({}, 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 Object.assign({ [propertyKey]: ctx[propertyKey] }, result);
|
|
29
|
-
}
|
|
30
|
-
if (Array.isArray(dependsOn)) {
|
|
31
|
-
dependsOn.forEach((dependency) => {
|
|
32
|
-
if (ctx[dependency] === undefined) {
|
|
33
|
-
const dependentProperty = properties.find((p) => p.propertyKey === dependency);
|
|
34
|
-
if (dependentProperty) {
|
|
35
|
-
ctx[dependency] = typeof dependentProperty.arg.generator ===
|
|
36
|
-
'function' ?
|
|
37
|
-
dependentProperty.arg.generator(faker_1.faker, ctx) :
|
|
38
|
-
dependentProperty.arg;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
ctx[propertyKey] = typeof generator === 'function' ?
|
|
44
|
-
generator(faker_1.faker, ctx) :
|
|
45
|
-
generator;
|
|
46
|
-
return Object.assign({ [propertyKey]: ctx[propertyKey] }, result);
|
|
47
|
-
}, {});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.DataFactory = DataFactory;
|
|
51
|
-
//# sourceMappingURL=data.factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data.factory.js","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/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,qBAAQ,MAAM,CAAE,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,uBACI,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,IAC5B,MAAM,EACX;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,uBACI,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,IAC5B,MAAM,EACX;QACN,CAAC,EAAE,EAAE,CAAC,CAAC;IASX,CAAC;CAEJ;AApFD,kCAoFC"}
|
package/src/lib/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./seeder/seeder"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./seeder/seeder.interface"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./factory/data.factory"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./decorators/factory.decorator"), exports);
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/src/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/nest-seeder/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAEhC,oEAA0C;AAE1C,iEAAuC;AAEvC,yEAA+C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.interface.js","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/factory.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./property-metadata.interface"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./factory.interface"), exports);
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAE9C,8DAAoC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"property-metadata.interface.js","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/property-metadata.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seeder-module-async-options.interface.js","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/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":["../../../../../../packages/nest-seeder/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":["../../../../../../packages/nest-seeder/src/lib/seeder/seeder.interface.ts"],"names":[],"mappings":""}
|
package/src/lib/seeder/seeder.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.seeder = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@nestjs/core");
|
|
6
|
-
const yargs_1 = tslib_1.__importDefault(require("yargs"));
|
|
7
|
-
const seeder_module_1 = require("./seeder.module");
|
|
8
|
-
const seeder_service_1 = require("./seeder.service");
|
|
9
|
-
function bootstrap(options) {
|
|
10
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
11
|
-
const app = yield core_1.NestFactory.createApplicationContext(seeder_module_1.SeederModule.register(options));
|
|
12
|
-
const seedersService = app.get(seeder_service_1.SeederService);
|
|
13
|
-
yield seedersService.run();
|
|
14
|
-
yield app.close();
|
|
15
|
-
});
|
|
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(Object.assign(Object.assign({}, options), extraOptions));
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
exports.seeder = seeder;
|
|
37
|
-
//# sourceMappingURL=seeder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seeder.js","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/seeder/seeder.ts"],"names":[],"mappings":";;;;AAMA,uCAA2C;AAC3C,0DAA0B;AAG1B,mDAIyB;AACzB,qDAAiD;AAcjD,SAAe,SAAS,CAAC,OAA4B;;QACjD,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAClD,4BAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CACjC,CAAC;QAEF,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,8BAAa,CAAC,CAAC;QAC9C,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC;QAE3B,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CAAA;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,iCACT,OAAO,GACP,YAAY,EACjB,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,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var SeederModule_1;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.SeederModule = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const common_1 = require("@nestjs/common");
|
|
7
|
-
const seeder_service_1 = require("./seeder.service");
|
|
8
|
-
const SEEDER_MODULE_OPTIONS = 'SEEDER_MODULE_OPTIONS';
|
|
9
|
-
let SeederModule = SeederModule_1 = class SeederModule {
|
|
10
|
-
static register(options) {
|
|
11
|
-
return {
|
|
12
|
-
module: SeederModule_1,
|
|
13
|
-
imports: options.imports || [],
|
|
14
|
-
providers: [
|
|
15
|
-
...(options.providers || []),
|
|
16
|
-
...options.seeders || [],
|
|
17
|
-
{
|
|
18
|
-
provide: seeder_service_1.SeederService,
|
|
19
|
-
useFactory: (...seeders) => {
|
|
20
|
-
return new seeder_service_1.SeederService(seeders, options);
|
|
21
|
-
},
|
|
22
|
-
inject: (options.seeders || []),
|
|
23
|
-
},
|
|
24
|
-
],
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
static forRootAsync(options) {
|
|
28
|
-
return {
|
|
29
|
-
module: SeederModule_1,
|
|
30
|
-
global: options.isGlobal,
|
|
31
|
-
imports: options.imports || [],
|
|
32
|
-
providers: [
|
|
33
|
-
...this.createAsyncProviders(options),
|
|
34
|
-
{
|
|
35
|
-
provide: seeder_service_1.SeederService,
|
|
36
|
-
useFactory: (seederOptions, ...seeders) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
return new seeder_service_1.SeederService(seeders, seederOptions);
|
|
38
|
-
}),
|
|
39
|
-
inject: [SEEDER_MODULE_OPTIONS, ...(options.inject || [])],
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
static createAsyncProviders(options) {
|
|
45
|
-
if (options.useExisting || options.useFactory) {
|
|
46
|
-
return [this.createAsyncOptionsProvider(options)];
|
|
47
|
-
}
|
|
48
|
-
return [
|
|
49
|
-
this.createAsyncOptionsProvider(options),
|
|
50
|
-
{
|
|
51
|
-
provide: options.useClass,
|
|
52
|
-
useClass: options.useClass,
|
|
53
|
-
},
|
|
54
|
-
];
|
|
55
|
-
}
|
|
56
|
-
static createAsyncOptionsProvider(options) {
|
|
57
|
-
if (options.useFactory) {
|
|
58
|
-
return {
|
|
59
|
-
provide: SEEDER_MODULE_OPTIONS,
|
|
60
|
-
useFactory: options.useFactory,
|
|
61
|
-
inject: options.inject || [],
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
provide: SEEDER_MODULE_OPTIONS,
|
|
66
|
-
useFactory: (optionsFactory) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield optionsFactory.createSeederOptions(); }),
|
|
67
|
-
inject: [options.useExisting || options.useClass],
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
exports.SeederModule = SeederModule;
|
|
72
|
-
exports.SeederModule = SeederModule = SeederModule_1 = tslib_1.__decorate([
|
|
73
|
-
(0, common_1.Module)({})
|
|
74
|
-
], SeederModule);
|
|
75
|
-
//# sourceMappingURL=seeder.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seeder.module.js","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/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,EAAE,CAAO,aAAkC,EAAE,GAAG,OAAiB,EAA0B,EAAE;wBACnG,OAAO,IAAI,8BAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;oBACrD,CAAC,CAAA;oBACD,MAAM,EAAE,CAAC,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;iBAC7D;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,CAAO,cAAoC,EAAE,EAAE,wDACvD,OAAA,MAAM,cAAc,CAAC,mBAAmB,EAAE,CAAA,GAAA;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 { 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
|
-
}
|