File tree Expand file tree Collapse file tree 3 files changed +30
-18
lines changed Expand file tree Collapse file tree 3 files changed +30
-18
lines changed Original file line number Diff line number Diff line change 1
1
import type { Config } from '@jest/types'
2
+ import type { Logger } from 'bs-logger'
2
3
import { resolve } from 'path'
3
4
4
5
import { createCompilerInstance } from '../compiler/instance'
@@ -57,15 +58,17 @@ export const defaultResolve = (path: string): string => `resolved:${path}`
57
58
export function createConfigSet ( {
58
59
jestConfig,
59
60
tsJestConfig,
61
+ logger, // don't change this key name, otherwise mock logging won't work
60
62
resolve = defaultResolve ,
61
63
...others
62
64
} : {
63
65
jestConfig ?: Partial < Config . ProjectConfig >
64
66
tsJestConfig ?: TsJestGlobalOptions
67
+ logger ?: Logger
65
68
resolve ?: ( ( path : string ) => string ) | null
66
69
[ key : string ] : any
67
70
} = { } ) : ConfigSet {
68
- const cs = new ConfigSet ( getJestConfig ( jestConfig , tsJestConfig ) )
71
+ const cs = new ConfigSet ( getJestConfig ( jestConfig , tsJestConfig ) , logger )
69
72
if ( resolve ) {
70
73
cs . resolvePath = resolve
71
74
}
Original file line number Diff line number Diff line change 1
1
/* eslint-disable jest/no-mocks-import */
2
2
import type { Transformer } from '@jest/transform'
3
- import { testing } from 'bs-logger'
3
+ import { LogLevels , testing } from 'bs-logger'
4
4
import { join , resolve } from 'path'
5
5
import ts from 'typescript'
6
6
@@ -31,20 +31,23 @@ beforeEach(() => {
31
31
32
32
describe ( 'packageJson' , ( ) => {
33
33
it ( 'should not contain packageJson in final tsJest config' , ( ) => {
34
- expect (
35
- Object . keys (
36
- createConfigSet ( {
37
- jestConfig : {
38
- globals : {
39
- 'ts-jest' : {
40
- packageJson : true ,
41
- } ,
42
- } ,
43
- } as any ,
44
- resolve : null ,
45
- } ) ,
46
- ) ,
47
- ) . not . toContain ( 'packageJson' )
34
+ const logger = testing . createLoggerMock ( )
35
+ createConfigSet ( {
36
+ jestConfig : {
37
+ globals : {
38
+ 'ts-jest' : {
39
+ packageJson : true ,
40
+ } ,
41
+ } ,
42
+ } as any ,
43
+ resolve : null ,
44
+ logger,
45
+ } )
46
+
47
+ expect ( logger . target . filteredLines ( LogLevels . warn ) [ 0 ] ) . toMatchInlineSnapshot ( `
48
+ "[level:40] The option \`packageJson\` is deprecated and will be removed in ts-jest 27. This option is not used by internal \`ts-jest\`
49
+ "
50
+ ` )
48
51
} )
49
52
} ) // packageJson
50
53
Original file line number Diff line number Diff line change @@ -145,8 +145,14 @@ export class ConfigSet {
145
145
tsBuildInfoFile : undefined ,
146
146
}
147
147
148
- constructor ( private readonly jestConfig : Config . ProjectConfig ) {
149
- this . logger = rootLogger . child ( { [ LogContexts . namespace ] : 'config' } )
148
+ constructor (
149
+ private readonly jestConfig : Config . ProjectConfig ,
150
+ // mainly for testing logging
151
+ private readonly parentLogger ?: Logger ,
152
+ ) {
153
+ this . logger = this . parentLogger
154
+ ? this . parentLogger . child ( { [ LogContexts . namespace ] : 'config' } )
155
+ : rootLogger . child ( { namespace : 'config' } )
150
156
this . _cwd = normalize ( this . jestConfig . cwd ?? process . cwd ( ) )
151
157
this . _rootDir = normalize ( this . jestConfig . rootDir ?? this . _cwd )
152
158
const tsJestCfg = this . jestConfig . globals && this . jestConfig . globals [ 'ts-jest' ]
You can’t perform that action at this time.
0 commit comments