Skip to content

Commit 8a69e3a

Browse files
committed
feat: ProgramFactoryOptions
Signed-off-by: Lexus Drumgold <[email protected]>
1 parent 2cbb22c commit 8a69e3a

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

src/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ export * from './enums'
1010
export type * from './interfaces'
1111
export type * from './metadata'
1212
export * from './models'
13-
export { default as ProgramFactory } from './program.factory'
13+
export {
14+
default as ProgramFactory,
15+
type ProgramFactoryOptions
16+
} from './program.factory'
1417
export * from './providers'
1518
export type * from './types'

src/program.factory.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,22 @@ import type {
1515
INestApplicationContext,
1616
LogLevel
1717
} from '@nestjs/common'
18-
import type { NestApplicationContextOptions as NestContextOptions } from '@nestjs/common/interfaces/nest-application-context-options.interface'
18+
import type { NestApplicationContextOptions } from '@nestjs/common/interfaces/nest-application-context-options.interface'
1919
import { NestFactory } from '@nestjs/core'
2020
import CommandRunnerModule from './command-runner.module'
2121
import type { ParseOptions } from './commander'
2222
import type { CliApplicationContext } from './interfaces'
2323
import { ProgramOptions } from './models'
2424
import { CommandRunnerService } from './providers'
2525

26+
/**
27+
* CLI program factory options.
28+
*
29+
* @see {@linkcode NestApplicationContextOptions}
30+
* @see {@linkcode ProgramOptions}
31+
*/
32+
type ProgramFactoryOptions = NestApplicationContextOptions & ProgramOptions
33+
2634
/**
2735
* CLI program factory.
2836
*
@@ -71,20 +79,19 @@ class ProgramFactory {
7179
*
7280
* @see {@linkcode CliApplicationContext}
7381
* @see {@linkcode DynamicModule}
74-
* @see {@linkcode NestContextOptions}
75-
* @see {@linkcode ProgramOptions}
82+
* @see {@linkcode ProgramFactoryOptions}
7683
*
7784
* @public
7885
* @static
7986
* @async
8087
*
8188
* @param {Class<any> | DynamicModule} AppModule - Root module
82-
* @param {NestContextOptions & ProgramOptions} [options={}] - Context options
89+
* @param {ProgramFactoryOptions} [options={}] - Context options
8390
* @return {Promise<CliApplicationContext>} CLI application context
8491
*/
8592
public static async create(
8693
AppModule: Class<any> | DynamicModule,
87-
options: NestContextOptions & ProgramOptions = {}
94+
options: ProgramFactoryOptions = {}
8895
): Promise<CliApplicationContext> {
8996
return this.context(
9097
await NestFactory.createApplicationContext(
@@ -95,4 +102,4 @@ class ProgramFactory {
95102
}
96103
}
97104

98-
export default ProgramFactory
105+
export { ProgramFactory as default, type ProgramFactoryOptions }

0 commit comments

Comments
 (0)