@ackplus/nest-seeder 0.1.51 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +6 -407
  2. package/package.json +2 -29
  3. package/src/cli.d.ts +1 -0
  4. package/src/cli.d.ts.map +1 -0
  5. package/src/index.d.ts +1 -0
  6. package/src/index.d.ts.map +1 -0
  7. package/src/lib/decorators/factory.decorator.d.ts +1 -0
  8. package/src/lib/decorators/factory.decorator.d.ts.map +1 -0
  9. package/src/lib/factory/data.factory.d.ts +1 -0
  10. package/src/lib/factory/data.factory.d.ts.map +1 -0
  11. package/src/lib/index.d.ts +1 -0
  12. package/src/lib/index.d.ts.map +1 -0
  13. package/src/lib/interfaces/factory.interface.d.ts +1 -0
  14. package/src/lib/interfaces/factory.interface.d.ts.map +1 -0
  15. package/src/lib/interfaces/index.d.ts +1 -0
  16. package/src/lib/interfaces/index.d.ts.map +1 -0
  17. package/src/lib/interfaces/property-metadata.interface.d.ts +1 -0
  18. package/src/lib/interfaces/property-metadata.interface.d.ts.map +1 -0
  19. package/src/lib/interfaces/seeder-module-async-options.interface.d.ts +19 -0
  20. package/src/lib/interfaces/seeder-module-async-options.interface.d.ts.map +1 -0
  21. package/src/lib/interfaces/seeder-options-factory.interface.d.ts +5 -0
  22. package/src/lib/interfaces/seeder-options-factory.interface.d.ts.map +1 -0
  23. package/src/lib/seeder/seeder.d.ts +1 -0
  24. package/src/lib/seeder/seeder.d.ts.map +1 -0
  25. package/src/lib/seeder/seeder.interface.d.ts +1 -0
  26. package/src/lib/seeder/seeder.interface.d.ts.map +1 -0
  27. package/src/lib/seeder/seeder.module.d.ts +1 -0
  28. package/src/lib/seeder/seeder.module.d.ts.map +1 -0
  29. package/src/lib/seeder/seeder.service.d.ts +1 -0
  30. package/src/lib/seeder/seeder.service.d.ts.map +1 -0
  31. package/src/lib/storages/factory.metadata.storage.d.ts +1 -0
  32. package/src/lib/storages/factory.metadata.storage.d.ts.map +1 -0
  33. package/src/cli.js +0 -168
  34. package/src/cli.js.map +0 -1
  35. package/src/index.js +0 -12
  36. package/src/index.js.map +0 -1
  37. package/src/lib/decorators/factory.decorator.js +0 -17
  38. package/src/lib/decorators/factory.decorator.js.map +0 -1
  39. package/src/lib/factory/data.factory.js +0 -51
  40. package/src/lib/factory/data.factory.js.map +0 -1
  41. package/src/lib/index.js +0 -8
  42. package/src/lib/index.js.map +0 -1
  43. package/src/lib/interfaces/factory.interface.js +0 -3
  44. package/src/lib/interfaces/factory.interface.js.map +0 -1
  45. package/src/lib/interfaces/index.js +0 -6
  46. package/src/lib/interfaces/index.js.map +0 -1
  47. package/src/lib/interfaces/property-metadata.interface.js +0 -3
  48. package/src/lib/interfaces/property-metadata.interface.js.map +0 -1
  49. package/src/lib/interfaces/seeder-module-async-options.interface.js +0 -3
  50. package/src/lib/interfaces/seeder-module-async-options.interface.js.map +0 -1
  51. package/src/lib/interfaces/seeder-options-factory.interface.js +0 -3
  52. package/src/lib/interfaces/seeder-options-factory.interface.js.map +0 -1
  53. package/src/lib/seeder/seeder.interface.js +0 -3
  54. package/src/lib/seeder/seeder.interface.js.map +0 -1
  55. package/src/lib/seeder/seeder.js +0 -37
  56. package/src/lib/seeder/seeder.js.map +0 -1
  57. package/src/lib/seeder/seeder.module.js +0 -75
  58. package/src/lib/seeder/seeder.module.js.map +0 -1
  59. package/src/lib/seeder/seeder.service.js +0 -67
  60. package/src/lib/seeder/seeder.service.js.map +0 -1
  61. package/src/lib/storages/factory.metadata.storage.js +0 -19
  62. package/src/lib/storages/factory.metadata.storage.js.map +0 -1
  63. package/tsconfig.tsbuildinfo +0 -1
package/README.md CHANGED
@@ -1,412 +1,11 @@
1
- # NestJS Seeder Module
1
+ # nest-auth
2
2
 
3
- A powerful and flexible seeding solution for NestJS applications with TypeORM support.
3
+ This library was generated with [Nx](https://nx.dev).
4
4
 
5
- ## Features
5
+ ## Building
6
6
 
7
- - **CLI Support** - Run seeders from command line
8
- - ✅ **TypeORM Integration** - Works seamlessly with your existing TypeORM setup
9
- - ✅ **Selective Seeding** - Run specific seeders by name
10
- - ✅ **Data Refresh** - Drop and recreate data
11
- - ✅ **TypeScript Support** - Full TypeScript support with ts-node
7
+ Run `nx build nest-auth` to build the library.
12
8
 
13
- ## Installation
9
+ ## Running unit tests
14
10
 
15
- ```bash
16
- npm install @ackplus/nest-seeder
17
- # Also install peer dependencies
18
- npm install -D ts-node typescript
19
- ```
20
-
21
- ## Quick Start
22
-
23
- ### 1. Create Your Seeders
24
-
25
- ```typescript
26
- // src/database/seeders/user.seeder.ts
27
- import { Injectable } from '@nestjs/common';
28
- import { InjectRepository } from '@nestjs/typeorm';
29
- import { Repository } from 'typeorm';
30
- import { Seeder, SeederServiceOptions } from '@ackplus/nest-seeder';
31
- import { User } from '../../entities/user.entity';
32
-
33
- @Injectable()
34
- export class UserSeeder implements Seeder {
35
- constructor(
36
- @InjectRepository(User)
37
- private readonly userRepository: Repository<User>,
38
- ) {}
39
-
40
- async seed(options: SeederServiceOptions): Promise<any> {
41
- const users = [
42
- { name: 'John Doe', email: 'john@example.com' },
43
- { name: 'Jane Smith', email: 'jane@example.com' },
44
- ];
45
-
46
- for (const userData of users) {
47
- const existingUser = await this.userRepository.findOne({
48
- where: { email: userData.email }
49
- });
50
-
51
- if (!existingUser) {
52
- const user = this.userRepository.create(userData);
53
- await this.userRepository.save(user);
54
- console.log(`Created user: ${user.name}`);
55
- }
56
- }
57
- }
58
-
59
- async drop(options: SeederServiceOptions): Promise<any> {
60
- await this.userRepository.clear();
61
- }
62
- }
63
- ```
64
-
65
- ### 2. Create Seeder Configuration File
66
-
67
- Create a seeder configuration file (e.g., `seeder.config.ts`) in your project:
68
-
69
- ```typescript
70
- // seeder.config.ts
71
- import { TypeOrmModule } from '@nestjs/typeorm';
72
- import { SeederModuleOptions } from '@ackplus/nest-seeder';
73
- import { UserSeeder } from './src/database/seeders/user.seeder';
74
- import { User } from './src/entities/user.entity';
75
-
76
- const seederConfig: SeederModuleOptions = {
77
- imports: [
78
- TypeOrmModule.forRoot({
79
- type: 'postgres', // Change to your database type
80
- host: process.env.DB_HOST || 'localhost',
81
- port: parseInt(process.env.DB_PORT || '5432'),
82
- username: process.env.DB_USERNAME || 'postgres',
83
- password: process.env.DB_PASSWORD || 'password',
84
- database: process.env.DB_NAME || 'your_database_name',
85
- entities: [User], // Add your entities here
86
- synchronize: false, // Set to false in production
87
- }),
88
- TypeOrmModule.forFeature([User]), // Add your entities here
89
- ],
90
- providers: [UserSeeder],
91
- seeders: [UserSeeder],
92
- };
93
-
94
- export default seederConfig;
95
- ```
96
-
97
- ### 3. Add Scripts to package.json
98
-
99
- ```json
100
- {
101
- "scripts": {
102
- "seed": "nest-seed -c ./seeder.config.ts",
103
- "seed:refresh": "nest-seed -c ./seeder.config.ts --refresh",
104
- "seed:user": "nest-seed -c ./seeder.config.ts --name UserSeeder"
105
- }
106
- }
107
- ```
108
-
109
- ### 4. Run Your Seeders
110
-
111
- ```bash
112
- # Run all seeders
113
- npm run seed
114
-
115
- # Drop all data and reseed
116
- npm run seed:refresh
117
-
118
- # Run specific seeder
119
- npm run seed:user
120
-
121
- # Run with dummy data flag
122
- npm run seed -- --dummyData
123
- ```
124
-
125
- ## CLI Usage
126
-
127
- The CLI can import seeder configuration from any TypeScript or JavaScript file:
128
-
129
- ```bash
130
- # Basic usage
131
- nest-seed -c ./seeder.config.ts
132
-
133
- # Different config file
134
- nest-seed -c ./configs/development.seeder.ts
135
-
136
- # Relative or absolute paths
137
- nest-seed -c ../shared/seeder.config.ts
138
- nest-seed -c /absolute/path/to/seeder.config.ts
139
-
140
- # With options
141
- nest-seed -c ./seeder.config.ts --refresh --name UserSeeder --dummyData
142
- ```
143
-
144
- ## CLI Options
145
-
146
- | Option | Alias | Description | Example |
147
- |--------|-------|-------------|---------|
148
- | `--config` | `-c` | Path to seeder configuration file | `--config ./seeder.config.ts` |
149
- | `--refresh` | `-r` | Drop all data before seeding | `--refresh` |
150
- | `--name` | `-n` | Run specific seeders | `--name UserSeeder PostSeeder` |
151
- | `--dummyData` | `-d` | Include dummy data flag | `--dummyData` |
152
-
153
- ## Configuration Options
154
-
155
- ### Using Environment Variables
156
-
157
- ```typescript
158
- // seeder.config.ts
159
- import { TypeOrmModule } from '@nestjs/typeorm';
160
-
161
- const seederConfig = {
162
- imports: [
163
- TypeOrmModule.forRoot({
164
- type: process.env.DB_TYPE as any || 'postgres',
165
- host: process.env.DB_HOST,
166
- port: parseInt(process.env.DB_PORT || '5432'),
167
- username: process.env.DB_USERNAME,
168
- password: process.env.DB_PASSWORD,
169
- database: process.env.DB_NAME,
170
- entities: [User, Post],
171
- }),
172
- TypeOrmModule.forFeature([User, Post]),
173
- ],
174
- seeders: [UserSeeder, PostSeeder],
175
- };
176
-
177
- export default seederConfig;
178
- ```
179
-
180
- ### Reusing Existing Database Configuration
181
-
182
- ```typescript
183
- // seeder.config.ts
184
- import { databaseConfig } from './src/config/database.config';
185
- import { TypeOrmModule } from '@nestjs/typeorm';
186
-
187
- const seederConfig = {
188
- imports: [
189
- TypeOrmModule.forRoot(databaseConfig), // Reuse your existing config
190
- TypeOrmModule.forFeature([User, Post]),
191
- ],
192
- seeders: [UserSeeder, PostSeeder],
193
- };
194
-
195
- export default seederConfig;
196
- ```
197
-
198
- ### Multiple Environment Configurations
199
-
200
- ```typescript
201
- // seeder.config.dev.ts
202
- export default {
203
- imports: [
204
- TypeOrmModule.forRoot({
205
- database: 'myapp_dev',
206
- // ... dev config
207
- }),
208
- ],
209
- seeders: [UserSeeder, PostSeeder, DummyDataSeeder],
210
- };
211
-
212
- // seeder.config.prod.ts
213
- export default {
214
- imports: [
215
- TypeOrmModule.forRoot({
216
- database: 'myapp_prod',
217
- // ... prod config
218
- }),
219
- ],
220
- seeders: [UserSeeder], // Only essential seeders
221
- };
222
- ```
223
-
224
- ```json
225
- {
226
- "scripts": {
227
- "seed:dev": "nest-seed -c ./seeder.config.dev.ts",
228
- "seed:prod": "nest-seed -c ./seeder.config.prod.ts"
229
- }
230
- }
231
- ```
232
-
233
- ## Advanced Usage
234
-
235
- ### Conditional Seeding
236
-
237
- ```typescript
238
- async seed(options: SeederServiceOptions): Promise<any> {
239
- if (options.dummyData) {
240
- // Seed lots of fake data for development
241
- await this.seedDummyUsers(1000);
242
- } else {
243
- // Seed only essential data
244
- await this.seedEssentialUsers();
245
- }
246
- }
247
- ```
248
-
249
- ### Seeder Dependencies
250
-
251
- ```typescript
252
- // Run seeders in order by organizing them properly
253
- const seederConfig = {
254
- seeders: [
255
- UserSeeder, // Run first
256
- PostSeeder, // Depends on users
257
- CommentSeeder, // Depends on posts
258
- ],
259
- };
260
- ```
261
-
262
- ## Integration with Existing App
263
-
264
- ### Option A: Using register() method
265
-
266
- ```typescript
267
- // app.module.ts
268
- import { Module } from '@nestjs/common';
269
- import { SeederModule } from '@ackplus/nest-seeder';
270
-
271
- @Module({
272
- imports: [
273
- // Your existing imports
274
- SeederModule.register({
275
- imports: [TypeOrmModule.forFeature([User])],
276
- providers: [UserSeeder],
277
- seeders: [UserSeeder],
278
- }),
279
- ],
280
- })
281
- export class AppModule {}
282
- ```
283
-
284
- ### Option B: Using forRootAsync() with useClass
285
-
286
- Create a factory class:
287
-
288
- ```typescript
289
- // seeder-config.factory.ts
290
- import { Injectable } from '@nestjs/common';
291
- import { ConfigService } from '@nestjs/config';
292
- import { TypeOrmModule } from '@nestjs/typeorm';
293
- import { SeederOptionsFactory, SeederModuleOptions } from '@ackplus/nest-seeder';
294
- import { UserSeeder } from './database/seeders/user.seeder';
295
- import { User } from './entities/user.entity';
296
-
297
- @Injectable()
298
- export class SeederConfigFactory implements SeederOptionsFactory {
299
- constructor(private readonly configService: ConfigService) {}
300
-
301
- createSeederOptions(): SeederModuleOptions {
302
- return {
303
- imports: [
304
- TypeOrmModule.forRoot({
305
- type: this.configService.get('DB_TYPE', 'postgres') as any,
306
- host: this.configService.get('DB_HOST', 'localhost'),
307
- port: this.configService.get('DB_PORT', 5432),
308
- username: this.configService.get('DB_USERNAME', 'postgres'),
309
- password: this.configService.get('DB_PASSWORD', 'password'),
310
- database: this.configService.get('DB_NAME', 'myapp_db'),
311
- entities: [User],
312
- synchronize: false,
313
- }),
314
- TypeOrmModule.forFeature([User]),
315
- ],
316
- providers: [UserSeeder],
317
- seeders: [UserSeeder],
318
- };
319
- }
320
- }
321
- ```
322
-
323
- Use in your app module:
324
-
325
- ```typescript
326
- // app.module.ts
327
- import { Module } from '@nestjs/common';
328
- import { ConfigModule } from '@nestjs/config';
329
- import { SeederModule } from '@ackplus/nest-seeder';
330
- import { SeederConfigFactory } from './seeder-config.factory';
331
-
332
- @Module({
333
- imports: [
334
- ConfigModule.forRoot(),
335
- SeederModule.forRootAsync({
336
- imports: [ConfigModule],
337
- useClass: SeederConfigFactory,
338
- }),
339
- ],
340
- })
341
- export class AppModule {}
342
- ```
343
-
344
- ### Option C: Using forRootAsync() with useFactory
345
-
346
- ```typescript
347
- // app.module.ts
348
- import { Module } from '@nestjs/common';
349
- import { ConfigModule, ConfigService } from '@nestjs/config';
350
- import { SeederModule } from '@ackplus/nest-seeder';
351
-
352
- @Module({
353
- imports: [
354
- ConfigModule.forRoot(),
355
- SeederModule.forRootAsync({
356
- imports: [ConfigModule, TypeOrmModule.forFeature([User])],
357
- useFactory: (configService: ConfigService) => ({
358
- imports: [
359
- TypeOrmModule.forRoot({
360
- type: configService.get('DB_TYPE', 'postgres') as any,
361
- host: configService.get('DB_HOST', 'localhost'),
362
- // ... other config
363
- }),
364
- TypeOrmModule.forFeature([User]),
365
- ],
366
- providers: [UserSeeder],
367
- seeders: [UserSeeder],
368
- }),
369
- inject: [ConfigService],
370
- }),
371
- ],
372
- })
373
- export class AppModule {}
374
- ```
375
-
376
- ### Using SeederService
377
-
378
- After registering the module, inject SeederService anywhere:
379
-
380
- ```typescript
381
- constructor(private readonly seederService: SeederService) {}
382
- await this.seederService.run();
383
- ```
384
-
385
- ## Best Practices
386
-
387
- 1. **Environment Variables**: Use the same environment variables as your main app
388
- 2. **Idempotent Seeders**: Make seeders safe to run multiple times
389
- 3. **Order Dependencies**: Place dependent seeders after their dependencies
390
- 4. **Clean Drop Methods**: Implement proper cleanup in drop methods
391
- 5. **Separate Configs**: Use different config files for different environments
392
-
393
- ## Troubleshooting
394
-
395
- ### "Cannot find module" errors
396
- - Make sure the config file path is correct relative to where you run the command
397
- - Ensure all import paths in your config are correct
398
- - Check that `ts-node` and `typescript` are installed for TypeScript files
399
-
400
- ### Database connection errors
401
- - Verify your database configuration in the seeder config
402
- - Ensure your database is running and accessible
403
- - Check environment variables are properly set
404
-
405
- ### TypeScript compilation errors
406
- - Make sure your `tsconfig.json` has `experimentalDecorators: true`
407
- - Install missing dependencies: `npm install -D ts-node typescript`
408
- - Verify your config file has proper exports
409
-
410
- ## Contributing
411
-
412
- Contributions are welcome! Please feel free to submit a Pull Request.
11
+ Run `nx test nest-auth` to execute the unit tests via [Jest](https://jestjs.io).
package/package.json CHANGED
@@ -1,37 +1,10 @@
1
1
  {
2
2
  "name": "@ackplus/nest-seeder",
3
- "version": "0.1.51",
3
+ "version": "1.1.2",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
- "license": "MIT",
8
- "scripts": {
9
- "postbuild": "chmod +x src/cli.js"
10
- },
11
- "repository": {
12
- "type": "git",
13
- "url": "https://github.com/ack-solutions/packages.git"
14
- },
15
- "publishConfig": {
16
- "access": "public"
17
- },
18
- "bin": {
19
- "nest-seed": "src/cli.js"
20
- },
21
- "homepage": "https://github.com/ack-solutions/packages.git#readme",
22
- "peerDependencies": {
23
- "typeorm": "^0.3.23",
24
- "@nestjs/typeorm": "^11.0.0",
25
- "@nestjs/common": "^10.4.5"
26
- },
27
- "devDependencies": {
28
- "typeorm": "^0.3.23",
29
- "@nestjs/typeorm": "^11.0.0",
30
- "@nestjs/common": "^10.4.5",
31
- "tslib": "^2.3.0"
32
- },
33
7
  "dependencies": {
34
- "@faker-js/faker": "^9.8.0",
35
- "yargs": "^18.0.0"
8
+ "tslib": "^2.3.0"
36
9
  }
37
10
  }
package/src/cli.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  #!/usr/bin/env node
2
2
  import { SeederOptions, SeederRunner } from './lib';
3
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"}
package/src/index.d.ts CHANGED
@@ -6,3 +6,4 @@ export * from './lib/factory/data.factory';
6
6
  export * from './lib/decorators/factory.decorator';
7
7
  export * from './lib/interfaces/seeder-options-factory.interface';
8
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"}
@@ -4,3 +4,4 @@ export type FactoryValue = BaseType | Array<BaseType>;
4
4
  export type FactoryValueGenerator = (faker?: Faker, ctx?: Record<string, any>) => FactoryValue;
5
5
  export declare function Factory(generator: FactoryValueGenerator | FactoryValue, dependsOn?: string[]): (target: Record<string, any>, propertyKey: string | symbol) => void;
6
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"}
@@ -4,3 +4,4 @@ export declare class DataFactory {
4
4
  static createForClass(target: Type<unknown>): Factory;
5
5
  private static generate;
6
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"}
@@ -2,3 +2,4 @@ export * from './seeder/seeder';
2
2
  export * from './seeder/seeder.interface';
3
3
  export * from './factory/data.factory';
4
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"}
@@ -2,3 +2,4 @@ import { FactoryValue } from '../decorators/factory.decorator';
2
2
  export interface Factory {
3
3
  generate(count: number, values?: Record<string, any>): Record<string, FactoryValue>[];
4
4
  }
5
+ //# sourceMappingURL=factory.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.interface.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/factory.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,MAAM,WAAW,OAAO;IACpB,QAAQ,CACJ,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;CACrC"}
@@ -1,2 +1,3 @@
1
1
  export * from './property-metadata.interface';
2
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"}
@@ -4,3 +4,4 @@ export interface PropertyMetadata {
4
4
  propertyKey: string;
5
5
  arg: FactoryValueGenerator | FactoryValue;
6
6
  }
7
+ //# sourceMappingURL=property-metadata.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-metadata.interface.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/property-metadata.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,YAAY,EACf,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,qBAAqB,GAAG,YAAY,CAAC;CAC7C"}
@@ -1,10 +1,29 @@
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
+ * Async options for SeederModule configuration
6
+ */
4
7
  export interface SeederModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
8
+ /**
9
+ * Make the module global
10
+ */
5
11
  isGlobal?: boolean;
12
+ /**
13
+ * Use a factory function to create options
14
+ */
6
15
  useFactory?: (...args: any[]) => Promise<SeederModuleOptions> | SeederModuleOptions;
16
+ /**
17
+ * Use a class that implements SeederOptionsFactory
18
+ */
7
19
  useClass?: Type<SeederOptionsFactory>;
20
+ /**
21
+ * Use an existing provider
22
+ */
8
23
  useExisting?: Type<SeederOptionsFactory>;
24
+ /**
25
+ * Dependencies to inject into the factory function or class
26
+ */
9
27
  inject?: any[];
10
28
  }
29
+ //# sourceMappingURL=seeder-module-async-options.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder-module-async-options.interface.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/interfaces/seeder-module-async-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;IAC7E;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;IAEpF;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEtC;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB"}
@@ -1,4 +1,9 @@
1
1
  import { SeederModuleOptions } from '../seeder/seeder.module';
2
+ /**
3
+ * Interface for SeederOptionsFactory
4
+ * Implement this interface to create a factory class for seeder configuration
5
+ */
2
6
  export interface SeederOptionsFactory {
3
7
  createSeederOptions(): Promise<SeederModuleOptions> | SeederModuleOptions;
4
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"}
@@ -8,3 +8,4 @@ export interface SeederRunner {
8
8
  run(extraOptions: SeederModuleExtraOptions): Promise<void>;
9
9
  }
10
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"}
@@ -7,3 +7,4 @@ export interface Seeder {
7
7
  seed(options: SeederServiceOptions): Promise<any>;
8
8
  drop(options: SeederServiceOptions): Promise<any>;
9
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"}
@@ -15,3 +15,4 @@ export declare class SeederModule {
15
15
  private static createAsyncProviders;
16
16
  private static createAsyncOptionsProvider;
17
17
  }
18
+ //# sourceMappingURL=seeder.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder.module.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/seeder/seeder.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,gBAAgB,EACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAG/F,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAClE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACjE,OAAO,CAAC,EAAE,KAAK,CACX,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,gBAAgB,CACxE,CAAC;IACF,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAID,qBACa,YAAY;IAErB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa;IAkB5D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,wBAAwB,GAAG,aAAa;IAkBrE,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAcnC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAgB5C"}
@@ -8,3 +8,4 @@ export declare class SeederService {
8
8
  drop(): Promise<any>;
9
9
  getSeederToRun(): Seeder[];
10
10
  }
11
+ //# sourceMappingURL=seeder.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeder.service.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/seeder/seeder.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,qBACa,aAAa;IAGlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE,oBAAyB;IAGjD,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IASnB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAYpB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAS1B,cAAc,IAAI,MAAM,EAAE;CAmC7B"}
@@ -14,3 +14,4 @@ export declare class FactoryMetadataStorageHost {
14
14
  getPropertyMetadatasByTarget(target: Type<unknown>): PropertyMetadataType[];
15
15
  }
16
16
  export declare const FactoryMetadataStorage: FactoryMetadataStorageHost;
17
+ //# sourceMappingURL=factory.metadata.storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.metadata.storage.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-seeder/src/lib/storages/factory.metadata.storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EACH,YAAY,EACZ,qBAAqB,EACxB,MAAM,iCAAiC,CAAC;AAGzC,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,GAAG,EAAE;QACD,SAAS,EAAE,qBAAqB,GAAG,YAAY,CAAC;QAChD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACL,CAAC;AAEF,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,UAAU,CAA8B;IAEhD,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAIzD,4BAA4B,CACxB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GACtB,oBAAoB,EAAE;CAI5B;AAID,eAAO,MAAM,sBAAsB,EAAE,0BACoC,CAAC"}