Skip to content

Commit afc6a94

Browse files
authored
fix(presets): allow merging transform config when using presets (#3833)
1 parent 071ccbd commit afc6a94

26 files changed

+10649
-4365
lines changed

e2e/presets/__tests__/presets.spec.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,71 +6,71 @@ const defaultPreset = require('ts-jest/jest-preset')
66
test('presets', () => {
77
expect(defaultPreset).toEqual({
88
transform: {
9-
'^.+\\.tsx?$': 'ts-jest',
9+
'^.+\\.tsx?$': ['ts-jest', {}],
1010
},
1111
})
1212
expect(presets.defaultsLegacy).toEqual({
1313
transform: {
14-
'^.+\\.tsx?$': 'ts-jest/legacy',
14+
'^.+\\.tsx?$': ['ts-jest/legacy', {}],
1515
},
1616
})
1717
expect(presets.defaultsESM).toEqual({
1818
extensionsToTreatAsEsm: [...TS_EXT_TO_TREAT_AS_ESM],
1919
transform: {
20-
'^.+\\.tsx?$': 'ts-jest',
20+
'^.+\\.tsx?$': ['ts-jest', { useESM: true }],
2121
},
2222
})
2323
expect(presets.defaultsESMLegacy).toEqual({
2424
extensionsToTreatAsEsm: [...TS_EXT_TO_TREAT_AS_ESM],
2525
transform: {
26-
'^.+\\.tsx?$': 'ts-jest/legacy',
26+
'^.+\\.tsx?$': ['ts-jest/legacy', { useESM: true }],
2727
},
2828
})
2929
expect(presets.jsWithTs).toEqual({
3030
transform: {
31-
'^.+\\.[tj]sx?$': 'ts-jest',
31+
'^.+\\.[tj]sx?$': ['ts-jest', {}],
3232
},
3333
})
3434
expect(presets.jsWithTsLegacy).toEqual({
3535
transform: {
36-
'^.+\\.[tj]sx?$': 'ts-jest/legacy',
36+
'^.+\\.[tj]sx?$': ['ts-jest/legacy', {}],
3737
},
3838
})
3939
expect(presets.jsWithTsESM).toEqual({
4040
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
4141
transform: {
42-
'^.+\\.m?[tj]sx?$': 'ts-jest',
42+
'^.+\\.m?[tj]sx?$': ['ts-jest', { useESM: true }],
4343
},
4444
})
4545
expect(presets.jsWithTsESMLegacy).toEqual({
4646
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
4747
transform: {
48-
'^.+\\.m?[tj]sx?$': 'ts-jest/legacy',
48+
'^.+\\.m?[tj]sx?$': ['ts-jest/legacy', { useESM: true }],
4949
},
5050
})
5151
expect(presets.jsWithBabel).toEqual({
5252
transform: {
53-
'^.+\\.tsx?$': 'ts-jest',
53+
'^.+\\.tsx?$': ['ts-jest', {}],
5454
'^.+\\.jsx?$': 'babel-jest',
5555
},
5656
})
5757
expect(presets.jsWithBabelLegacy).toEqual({
5858
transform: {
59-
'^.+\\.tsx?$': 'ts-jest/legacy',
59+
'^.+\\.tsx?$': ['ts-jest/legacy', {}],
6060
'^.+\\.jsx?$': 'babel-jest',
6161
},
6262
})
6363
expect(presets.jsWithBabelESM).toEqual({
6464
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
6565
transform: {
66-
'^.+\\.tsx?$': 'ts-jest',
66+
'^.+\\.tsx?$': ['ts-jest', { useESM: true }],
6767
'^.+\\.m?[j]sx?$': 'babel-jest',
6868
},
6969
})
7070
expect(presets.jsWithBabelESMLegacy).toEqual({
7171
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
7272
transform: {
73-
'^.+\\.tsx?$': 'ts-jest/legacy',
73+
'^.+\\.tsx?$': ['ts-jest/legacy', { useESM: true }],
7474
'^.+\\.m?[j]sx?$': 'babel-jest',
7575
},
7676
})

0 commit comments

Comments
 (0)