@ackplus/nest-seeder 1.1.1 → 1.1.5

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 (58) 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/{cli.ts → cli.js} +56 -89
  5. package/src/{index.ts → index.d.ts} +1 -7
  6. package/src/index.d.ts.map +1 -0
  7. package/src/index.js +11 -0
  8. package/src/lib/decorators/factory.decorator.d.ts +7 -0
  9. package/src/lib/decorators/factory.decorator.d.ts.map +1 -0
  10. package/src/lib/decorators/factory.decorator.js +16 -0
  11. package/src/lib/factory/data.factory.d.ts +7 -0
  12. package/src/lib/factory/data.factory.d.ts.map +1 -0
  13. package/src/lib/factory/{data.factory.ts → data.factory.js} +16 -45
  14. package/src/lib/{index.ts → index.d.ts} +1 -3
  15. package/src/lib/index.d.ts.map +1 -0
  16. package/src/lib/index.js +7 -0
  17. package/src/lib/interfaces/factory.interface.d.ts +5 -0
  18. package/src/lib/interfaces/factory.interface.d.ts.map +1 -0
  19. package/src/lib/interfaces/factory.interface.js +2 -0
  20. package/src/lib/interfaces/{index.ts → index.d.ts} +1 -1
  21. package/src/lib/interfaces/index.d.ts.map +1 -0
  22. package/src/lib/interfaces/index.js +5 -0
  23. package/src/lib/interfaces/property-metadata.interface.d.ts +7 -0
  24. package/src/lib/interfaces/property-metadata.interface.d.ts.map +1 -0
  25. package/src/lib/interfaces/property-metadata.interface.js +2 -0
  26. package/src/lib/interfaces/{seeder-module-async-options.interface.ts → seeder-module-async-options.interface.d.ts} +1 -5
  27. package/src/lib/interfaces/seeder-module-async-options.interface.d.ts.map +1 -0
  28. package/src/lib/interfaces/seeder-module-async-options.interface.js +2 -0
  29. package/src/lib/interfaces/{seeder-options-factory.interface.ts → seeder-options-factory.interface.d.ts} +1 -1
  30. package/src/lib/interfaces/seeder-options-factory.interface.d.ts.map +1 -0
  31. package/src/lib/interfaces/seeder-options-factory.interface.js +2 -0
  32. package/src/lib/seeder/seeder.d.ts +11 -0
  33. package/src/lib/seeder/seeder.d.ts.map +1 -0
  34. package/src/lib/seeder/{seeder.interface.ts → seeder.interface.d.ts} +1 -1
  35. package/src/lib/seeder/seeder.interface.d.ts.map +1 -0
  36. package/src/lib/seeder/seeder.interface.js +2 -0
  37. package/src/lib/seeder/seeder.js +37 -0
  38. package/src/lib/seeder/seeder.module.d.ts +18 -0
  39. package/src/lib/seeder/seeder.module.d.ts.map +1 -0
  40. package/src/lib/seeder/seeder.module.js +74 -0
  41. package/src/lib/seeder/seeder.service.d.ts +11 -0
  42. package/src/lib/seeder/seeder.service.d.ts.map +1 -0
  43. package/src/lib/seeder/{seeder.service.ts → seeder.service.js} +25 -42
  44. package/src/lib/storages/factory.metadata.storage.d.ts +17 -0
  45. package/src/lib/storages/factory.metadata.storage.d.ts.map +1 -0
  46. package/src/lib/storages/factory.metadata.storage.js +18 -0
  47. package/eslint.config.mjs +0 -22
  48. package/jest.config.ts +0 -10
  49. package/project.json +0 -38
  50. package/src/lib/decorators/factory.decorator.ts +0 -32
  51. package/src/lib/interfaces/factory.interface.ts +0 -9
  52. package/src/lib/interfaces/property-metadata.interface.ts +0 -11
  53. package/src/lib/seeder/seeder.module.ts +0 -97
  54. package/src/lib/seeder/seeder.ts +0 -66
  55. package/src/lib/storages/factory.metadata.storage.ts +0 -37
  56. package/tsconfig.json +0 -17
  57. package/tsconfig.lib.json +0 -14
  58. 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.5",
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,52 +1,45 @@
1
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))
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
+ async function parseArguments() {
13
+ const argv = await (0, yargs_1.default)(process.argv.slice(2))
20
14
  .option('refresh', {
21
- alias: 'r',
22
- type: 'boolean',
23
- description: 'Drop all data before seeding',
24
- default: false
25
- })
15
+ alias: 'r',
16
+ type: 'boolean',
17
+ description: 'Drop all data before seeding',
18
+ default: false
19
+ })
26
20
  .option('name', {
27
- alias: 'n',
28
- type: 'array',
29
- string: true,
30
- description: 'Specific seeder names to run',
31
- })
21
+ alias: 'n',
22
+ type: 'array',
23
+ string: true,
24
+ description: 'Specific seeder names to run',
25
+ })
32
26
  .option('dummyData', {
33
- alias: 'd',
34
- type: 'boolean',
35
- description: 'Include dummy data',
36
- default: false
37
- })
27
+ alias: 'd',
28
+ type: 'boolean',
29
+ description: 'Include dummy data',
30
+ default: false
31
+ })
38
32
  .option('config', {
39
- alias: 'c',
40
- type: 'string',
41
- description: 'Path to seeder configuration file',
42
- demandOption: true
43
- })
33
+ alias: 'c',
34
+ type: 'string',
35
+ description: 'Path to seeder configuration file',
36
+ demandOption: true
37
+ })
44
38
  .help()
45
39
  .example('nest-seed -c ./seeder.config.ts', 'Run all seeders')
46
40
  .example('nest-seed -c ./seeder.config.ts --refresh', 'Drop and reseed all data')
47
41
  .example('nest-seed -c ./seeder.config.ts --name UserSeeder', 'Run specific seeder')
48
42
  .parseAsync();
49
-
50
43
  return {
51
44
  refresh: argv.refresh,
52
45
  name: argv.name,
@@ -54,7 +47,6 @@ async function parseArguments(): Promise<CliArguments> {
54
47
  config: argv.config,
55
48
  };
56
49
  }
57
-
58
50
  function setupTsNode() {
59
51
  try {
60
52
  // Register ts-node for TypeScript support
@@ -69,41 +61,36 @@ function setupTsNode() {
69
61
  skipLibCheck: true,
70
62
  }
71
63
  });
72
- } catch (error) {
64
+ }
65
+ catch (error) {
73
66
  console.error('Failed to setup TypeScript support. Make sure ts-node is installed:');
74
67
  console.error('npm install -D ts-node typescript');
75
68
  process.exit(1);
76
69
  }
77
70
  }
78
-
79
- async function loadSeederConfig(configPath: string) {
71
+ async function loadSeederConfig(configPath) {
80
72
  try {
81
73
  // Resolve the config path relative to current working directory
82
74
  const resolvedPath = path.resolve(process.cwd(), configPath);
83
-
84
75
  // Check if file exists
85
76
  if (!fs.existsSync(resolvedPath)) {
86
77
  throw new Error(`Configuration file not found: ${resolvedPath}`);
87
78
  }
88
-
89
79
  // Setup TypeScript support if needed
90
80
  if (configPath.endsWith('.ts')) {
91
81
  setupTsNode();
92
82
  }
93
-
94
83
  // Clear require cache to ensure fresh import
95
84
  delete require.cache[resolvedPath];
96
-
97
85
  // Import the configuration
98
- const configModule = await import(resolvedPath);
86
+ const configModule = await Promise.resolve(`${resolvedPath}`).then(s => tslib_1.__importStar(require(s)));
99
87
  const config = configModule.default || configModule;
100
-
101
88
  if (!config) {
102
89
  throw new Error('Configuration file must export a default configuration object');
103
90
  }
104
-
105
91
  return config;
106
- } catch (error) {
92
+ }
93
+ catch (error) {
107
94
  console.error('Error loading seeder configuration:');
108
95
  console.error(error.message);
109
96
  console.error('\nMake sure your configuration file:');
@@ -113,49 +100,38 @@ async function loadSeederConfig(configPath: string) {
113
100
  process.exit(1);
114
101
  }
115
102
  }
116
-
117
103
  async function runSeeder() {
118
104
  try {
119
105
  const args = await parseArguments();
120
-
121
106
  console.log('🌱 Starting NestJS Seeder...');
122
107
  console.log(`📁 Loading configuration from: ${args.config}`);
123
-
124
108
  // Load the seeder configuration from specified path
125
109
  const seederConfig = await loadSeederConfig(args.config);
126
-
127
- const cliOptions: SeederServiceOptions = {
110
+ const cliOptions = {
128
111
  refresh: args.refresh,
129
112
  name: args.name,
130
113
  dummyData: args.dummyData,
131
114
  };
132
-
133
115
  if (args.refresh) {
134
116
  console.log('🔄 Refresh mode: Will drop existing data before seeding');
135
117
  }
136
-
137
118
  if (args.name && args.name.length > 0) {
138
119
  console.log(`🎯 Running specific seeders: ${args.name.join(', ')}`);
139
120
  }
140
-
141
121
  if (args.dummyData) {
142
122
  console.log('🎲 Dummy data mode enabled');
143
123
  }
144
-
145
- const app = await NestFactory.createApplicationContext(
146
- SeederModule.register({
147
- ...seederConfig,
148
- ...cliOptions,
149
- }),
150
- );
151
-
152
- const seedersService = app.get(SeederService);
124
+ const app = await core_1.NestFactory.createApplicationContext(seeder_module_1.SeederModule.register({
125
+ ...seederConfig,
126
+ ...cliOptions,
127
+ }));
128
+ const seedersService = app.get(seeder_service_1.SeederService);
153
129
  await seedersService.run();
154
-
155
130
  await app.close();
156
131
  console.log('✅ Seeding completed successfully!');
157
132
  process.exit(0);
158
- } catch (error) {
133
+ }
134
+ catch (error) {
159
135
  console.error('❌ Error running seeder:');
160
136
  console.error(error.message);
161
137
  if (error.stack && process.env.NODE_ENV === 'development') {
@@ -165,41 +141,32 @@ async function runSeeder() {
165
141
  process.exit(1);
166
142
  }
167
143
  }
168
-
169
- export const seeder = (options: SeederOptions): SeederRunner => {
144
+ const seeder = (options) => {
170
145
  return {
171
- async run(extraOptions: SeederModuleExtraOptions): Promise<void> {
172
- const cliOptions: SeederServiceOptions = {};
173
- const argv: any = yargs(process.argv).argv;
146
+ async run(extraOptions) {
147
+ const cliOptions = {};
148
+ const argv = (0, yargs_1.default)(process.argv).argv;
174
149
  if (argv.r || argv.refresh) {
175
150
  cliOptions.refresh = true;
176
151
  }
177
-
178
152
  if (argv.n || argv.name) {
179
153
  cliOptions.name = argv.n || argv.name;
180
154
  }
181
-
182
155
  if (argv.d || argv.dummyData) {
183
156
  cliOptions.dummyData = argv.d || argv.dummyData;
184
157
  }
185
-
186
158
  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);
159
+ const app = await core_1.NestFactory.createApplicationContext(seeder_module_1.SeederModule.register({
160
+ ...options,
161
+ ...extraOptions,
162
+ }));
163
+ const seedersService = app.get(seeder_service_1.SeederService);
196
164
  await seedersService.run();
197
-
198
165
  await app.close();
199
166
  },
200
167
  };
201
168
  };
202
-
169
+ exports.seeder = seeder;
203
170
  // Only run if this file is executed directly
204
171
  if (require.main === module) {
205
172
  runSeeder();
@@ -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"}
package/src/index.js ADDED
@@ -0,0 +1,11 @@
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);
@@ -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,16 @@
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
+ }
@@ -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,31 +1,17 @@
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 {
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) {
15
8
  if (!target) {
16
- throw new Error(
17
- `Target class "${target}" passed in to the "TemplateFactory#createForClass()" method is "undefined".`,
18
- );
9
+ throw new Error(`Target class "${target}" passed in to the "TemplateFactory#createForClass()" method is "undefined".`);
19
10
  }
20
-
21
- const properties = FactoryMetadataStorage.getPropertyMetadatasByTarget(target);
22
-
11
+ const properties = factory_metadata_storage_1.FactoryMetadataStorage.getPropertyMetadatasByTarget(target);
23
12
  return {
24
- generate: (
25
- count: number,
26
- values: Record<string, any> = {},
27
- ): Record<string, FactoryValue>[] => {
28
- const ret: Record<string, FactoryValue>[] = [];
13
+ generate: (count, values = {}) => {
14
+ const ret = [];
29
15
  for (let i = 0; i < count; i++) {
30
16
  ret.push(this.generate(properties, values));
31
17
  }
@@ -33,17 +19,11 @@ export class DataFactory {
33
19
  },
34
20
  };
35
21
  }
36
-
37
- private static generate(
38
- properties: PropertyMetadataType[],
39
- values: Record<string, any>,
40
- ): Record<string, FactoryValue> {
22
+ static generate(properties, values) {
41
23
  const ctx = { ...values };
42
-
43
24
  return properties.reduce((result, property) => {
44
25
  const propertyKey = property.propertyKey;
45
26
  const { generator, dependsOn } = property.arg;
46
-
47
27
  // Skip if the value is already generated in the context (ctx)
48
28
  if (ctx[propertyKey] !== undefined) {
49
29
  return {
@@ -51,39 +31,30 @@ export class DataFactory {
51
31
  ...result,
52
32
  };
53
33
  }
54
-
55
34
  // If the property has dependencies, ensure they are generated first
56
35
  if (Array.isArray(dependsOn)) {
57
36
  dependsOn.forEach((dependency) => {
58
37
  if (ctx[dependency] === undefined) {
59
38
  // 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
- );
39
+ const dependentProperty = properties.find((p) => p.propertyKey === dependency);
63
40
  if (dependentProperty) {
64
41
  ctx[dependency] = typeof dependentProperty.arg.generator ===
65
42
  'function' ?
66
- dependentProperty.arg.generator(
67
- faker,
68
- ctx,
69
- ) :
43
+ dependentProperty.arg.generator(faker_1.faker, ctx) :
70
44
  dependentProperty.arg;
71
45
  }
72
46
  }
73
47
  });
74
48
  }
75
-
76
49
  // Generate the current field
77
50
  ctx[propertyKey] = typeof generator === 'function' ?
78
- generator(faker, ctx) :
51
+ generator(faker_1.faker, ctx) :
79
52
  generator;
80
-
81
53
  return {
82
54
  [propertyKey]: ctx[propertyKey],
83
55
  ...result,
84
56
  };
85
57
  }, {});
86
-
87
58
  // return properties.reduce(
88
59
  // (r, p) => ({
89
60
  // [p.propertyKey]: ctx[p.propertyKey] = typeof p.arg === 'function' ? p.arg(faker, ctx) : p.arg,
@@ -92,5 +63,5 @@ export class DataFactory {
92
63
  // {},
93
64
  // );
94
65
  }
95
-
96
66
  }
67
+ exports.DataFactory = DataFactory;
@@ -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,7 @@
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);
@@ -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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,5 @@
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);
@@ -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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });