Skip to content

@joakimbugge/seeder


@joakimbugge/seeder / RunSeedersOptions

Type Alias: RunSeedersOptions<TContext> ​

ts
type RunSeedersOptions<TContext> = TContext & object;

Defined in: packages/seeder/src/seeder/runner.ts:20

Options for runSeeders. Extends SeedContext with lifecycle hooks and logging control.

Type Declaration ​

instantiate? ​

ts
optional instantiate?: (SeederClass) => 
  | SeederInterface<TContext, any>
| Promise<SeederInterface<TContext, any>>;

Custom factory used to create each seeder instance. Defaults to new SeederClass().

Framework integrations override this to construct seeders through their own dependency-injection container (e.g. NestJS ModuleRef.create), so seeder constructors can inject dependencies instead of being instantiated directly.

Parameters ​

SeederClass ​

SeederCtor

Returns ​

| SeederInterface<TContext, any> | Promise<SeederInterface<TContext, any>>

logger? ​

ts
optional logger?: SeederLogger;

Custom logger used when logging is true. Ignored when logging is false. Defaults to ConsoleLogger when omitted.

logging? ​

ts
optional logging?: false | true;

Controls seeder progress output.

ORM packages extend this with their own logging key (e.g. 'typeorm', 'mikroorm').

Default ​

ts
false

onBefore? ​

ts
optional onBefore?: () => void | Promise<void>;

Called once before any seeder runs.

Returns ​

void | Promise<void>

onError? ​

ts
optional onError?: (seeder, error) => void | Promise<void>;

Called when a seeder throws, with the failing seeder and the error. The error is re-thrown after this returns.

Parameters ​

seeder ​

SeederCtor

error ​

unknown

Returns ​

void | Promise<void>

onFinally? ​

ts
optional onFinally?: (durationMs) => void | Promise<void>;

Always called once after all seeders finish — whether all succeeded or one threw.

Parameters ​

durationMs ​

number

Returns ​

void | Promise<void>

onSuccess? ​

ts
optional onSuccess?: (seeders, durationMs) => void | Promise<void>;

Called once after all seeders complete successfully. Receives the list of seeders that ran (excluding skipped ones) and the total duration.

Parameters ​

seeders ​

SeederCtor[]

durationMs ​

number

Returns ​

void | Promise<void>

skip? ​

ts
optional skip?: (seeder) => boolean | Promise<boolean>;

Called for each seeder before it runs. Return true to skip it entirely.

Parameters ​

seeder ​

SeederCtor

Returns ​

boolean | Promise<boolean>

Type Parameters ​

TContext ​

TContext extends SeedContext = SeedContext

Released under the MIT License.