Skip to content

Commit 543b4ad

Browse files
authored
feat(presets): add presets for legacy mode (#3465)
1 parent 4448ac0 commit 543b4ad

File tree

16 files changed

+134
-26
lines changed

16 files changed

+134
-26
lines changed

e2e/presets/__tests__/presets.spec.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,69 @@ test('presets', () => {
99
'^.+\\.tsx?$': 'ts-jest',
1010
},
1111
})
12+
expect(presets.defaultsLegacy).toEqual({
13+
transform: {
14+
'^.+\\.tsx?$': 'ts-jest/legacy',
15+
},
16+
})
1217
expect(presets.defaultsESM).toEqual({
1318
extensionsToTreatAsEsm: [...TS_EXT_TO_TREAT_AS_ESM],
1419
transform: {
1520
'^.+\\.tsx?$': 'ts-jest',
1621
},
1722
})
23+
expect(presets.defaultsESMLegacy).toEqual({
24+
extensionsToTreatAsEsm: [...TS_EXT_TO_TREAT_AS_ESM],
25+
transform: {
26+
'^.+\\.tsx?$': 'ts-jest/legacy',
27+
},
28+
})
1829
expect(presets.jsWithTs).toEqual({
1930
transform: {
2031
'^.+\\.[tj]sx?$': 'ts-jest',
2132
},
2233
})
34+
expect(presets.jsWithTsLegacy).toEqual({
35+
transform: {
36+
'^.+\\.[tj]sx?$': 'ts-jest/legacy',
37+
},
38+
})
2339
expect(presets.jsWithTsESM).toEqual({
2440
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
2541
transform: {
2642
'^.+\\.m?[tj]sx?$': 'ts-jest',
2743
},
2844
})
45+
expect(presets.jsWithTsESMLegacy).toEqual({
46+
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
47+
transform: {
48+
'^.+\\.m?[tj]sx?$': 'ts-jest/legacy',
49+
},
50+
})
2951
expect(presets.jsWithBabel).toEqual({
3052
transform: {
3153
'^.+\\.tsx?$': 'ts-jest',
3254
'^.+\\.jsx?$': 'babel-jest',
3355
},
3456
})
57+
expect(presets.jsWithBabelLegacy).toEqual({
58+
transform: {
59+
'^.+\\.tsx?$': 'ts-jest/legacy',
60+
'^.+\\.jsx?$': 'babel-jest',
61+
},
62+
})
3563
expect(presets.jsWithBabelESM).toEqual({
3664
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
3765
transform: {
3866
'^.+\\.tsx?$': 'ts-jest',
3967
'^.+\\.m?[j]sx?$': 'babel-jest',
4068
},
4169
})
70+
expect(presets.jsWithBabelESMLegacy).toEqual({
71+
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
72+
transform: {
73+
'^.+\\.tsx?$': 'ts-jest/legacy',
74+
'^.+\\.m?[j]sx?$': 'babel-jest',
75+
},
76+
})
4277
})
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('..').defaultsESMLegacy

presets/default-legacy/jest-preset.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('..').defaultsLegacy

presets/index.d.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@ import type { TsJestPresets } from '../dist'
22

33
declare const _default: {
44
defaults: TsJestPresets;
5+
defaultsLegacy: TsJestPresets;
56
defaultsESM: TsJestPresets;
7+
defaultsESMLegacy: TsJestPresets;
68
jsWithTs: TsJestPresets;
9+
jsWithTsLegacy: TsJestPresets;
710
jsWithTsESM: TsJestPresets;
11+
jsWithTsESMLegacy: TsJestPresets;
812
jsWithBabel: TsJestPresets;
13+
jsWithBabelLegacy: TsJestPresets;
914
jsWithBabelESM: TsJestPresets;
15+
jsWithBabelESMLegacy: TsJestPresets;
1016
};
1117
export = _default;

presets/index.js

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,55 @@ module.exports = {
55
get defaults() {
66
return createJestPreset()
77
},
8+
get defaultsLegacy() {
9+
return createJestPreset(true, false)
10+
},
811
get defaultsESM() {
9-
return createJestPreset(false, { extensionsToTreatAsEsm: TS_EXT_TO_TREAT_AS_ESM })
12+
return createJestPreset(false, false, { extensionsToTreatAsEsm: TS_EXT_TO_TREAT_AS_ESM })
13+
},
14+
get defaultsESMLegacy() {
15+
return createJestPreset(true, false, { extensionsToTreatAsEsm: TS_EXT_TO_TREAT_AS_ESM })
1016
},
1117
get jsWithTs() {
12-
return createJestPreset(true)
18+
return createJestPreset(false, true)
19+
},
20+
get jsWithTsLegacy() {
21+
return createJestPreset(true, true)
1322
},
1423
get jsWithTsESM() {
15-
return createJestPreset(true, { extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM] })
24+
return createJestPreset(false, true, {
25+
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
26+
})
27+
},
28+
get jsWithTsESMLegacy() {
29+
return createJestPreset(true, true, {
30+
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
31+
})
1632
},
1733
get jsWithBabel() {
18-
return createJestPreset(false, {
34+
return createJestPreset(false, false, {
35+
transform: {
36+
'^.+\\.jsx?$': 'babel-jest',
37+
},
38+
})
39+
},
40+
get jsWithBabelLegacy() {
41+
return createJestPreset(true, false, {
1942
transform: {
2043
'^.+\\.jsx?$': 'babel-jest',
2144
},
2245
})
2346
},
2447
get jsWithBabelESM() {
25-
return createJestPreset(false, {
48+
return createJestPreset(false, false, {
49+
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
50+
transform: {
51+
'^.+\\.m?[j]sx?$': 'babel-jest',
52+
},
53+
})
54+
},
55+
get jsWithBabelESMLegacy() {
56+
return createJestPreset(true, false, {
2657
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
2758
transform: {
2859
'^.+\\.m?[j]sx?$': 'babel-jest',
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('..').jsWithBabelESMLegacy
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('..').jsWithBabelLegacy
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('..').jsWithTsESMLegacy
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('..').jsWithTsLegacy

src/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import { TsJestTransformer } from './legacy'
1+
import { TsJestTransformer } from './legacy/ts-jest-transformer'
22

3-
export * from './legacy'
3+
export * from './config'
44
export * from './constants'
55
export * from './legacy/compiler'
6-
export * from './config'
6+
export * from './legacy/ts-jest-transformer'
7+
export * from './legacy/config/config-set'
78
export * from './presets/create-jest-preset'
8-
export * from './utils'
99
export * from './raw-compiler-options'
10+
export * from './utils'
1011
export * from './types'
1112

1213
export default {

0 commit comments

Comments
 (0)