Skip to content

Commit 922d6d0

Browse files
committed
refactor(presets): use create preset util functions for cjs presets
1 parent 22fb027 commit 922d6d0

File tree

2 files changed

+33
-56
lines changed

2 files changed

+33
-56
lines changed

e2e/presets/__tests__/presets.spec.ts

+18-38
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,54 @@
1-
import { JS_EXT_TO_TREAT_AS_ESM, TS_EXT_TO_TREAT_AS_ESM } from 'ts-jest'
1+
import {
2+
JS_EXT_TO_TREAT_AS_ESM,
3+
TS_EXT_TO_TREAT_AS_ESM,
4+
createDefaultPreset,
5+
createDefaultEsmPreset,
6+
createJsWithTsPreset,
7+
createJsWithTsEsmPreset,
8+
createJsWithBabelPreset,
9+
createJsWithBabelEsmPreset,
10+
} from 'ts-jest'
11+
// @ts-expect-error we have this file but we don't have type definition for it
12+
import defaultPreset from 'ts-jest/jest-preset'
213
import presets from 'ts-jest/presets'
314

415
import extendedJestConfig from '../extended-jest-config'
516

6-
const defaultPreset = require('ts-jest/jest-preset')
7-
817
test('presets', () => {
9-
expect(defaultPreset).toEqual({
10-
transform: {
11-
'^.+\\.tsx?$': ['ts-jest', {}],
12-
},
13-
})
18+
expect(defaultPreset).toEqual(createDefaultPreset())
1419
expect(presets.defaultsLegacy).toEqual({
1520
transform: {
1621
'^.+\\.tsx?$': ['ts-jest/legacy', {}],
1722
},
1823
})
19-
expect(presets.defaultsESM).toEqual({
20-
extensionsToTreatAsEsm: [...TS_EXT_TO_TREAT_AS_ESM],
21-
transform: {
22-
'^.+\\.tsx?$': ['ts-jest', { useESM: true }],
23-
},
24-
})
24+
expect(presets.defaultsESM).toEqual(createDefaultEsmPreset())
2525
expect(presets.defaultsESMLegacy).toEqual({
2626
extensionsToTreatAsEsm: [...TS_EXT_TO_TREAT_AS_ESM],
2727
transform: {
2828
'^.+\\.tsx?$': ['ts-jest/legacy', { useESM: true }],
2929
},
3030
})
31-
expect(presets.jsWithTs).toEqual({
32-
transform: {
33-
'^.+\\.[tj]sx?$': ['ts-jest', {}],
34-
},
35-
})
31+
expect(presets.jsWithTs).toEqual(createJsWithTsPreset())
3632
expect(presets.jsWithTsLegacy).toEqual({
3733
transform: {
3834
'^.+\\.[tj]sx?$': ['ts-jest/legacy', {}],
3935
},
4036
})
41-
expect(presets.jsWithTsESM).toEqual({
42-
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
43-
transform: {
44-
'^.+\\.m?[tj]sx?$': ['ts-jest', { useESM: true }],
45-
},
46-
})
37+
expect(presets.jsWithTsESM).toEqual(createJsWithTsEsmPreset())
4738
expect(presets.jsWithTsESMLegacy).toEqual({
4839
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
4940
transform: {
5041
'^.+\\.m?[tj]sx?$': ['ts-jest/legacy', { useESM: true }],
5142
},
5243
})
53-
expect(presets.jsWithBabel).toEqual({
54-
transform: {
55-
'^.+\\.tsx?$': ['ts-jest', {}],
56-
'^.+\\.jsx?$': 'babel-jest',
57-
},
58-
})
44+
expect(presets.jsWithBabel).toEqual(createJsWithBabelPreset())
5945
expect(presets.jsWithBabelLegacy).toEqual({
6046
transform: {
6147
'^.+\\.tsx?$': ['ts-jest/legacy', {}],
6248
'^.+\\.jsx?$': 'babel-jest',
6349
},
6450
})
65-
expect(presets.jsWithBabelESM).toEqual({
66-
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
67-
transform: {
68-
'^.+\\.tsx?$': ['ts-jest', { useESM: true }],
69-
'^.+\\.m?[j]sx?$': 'babel-jest',
70-
},
71-
})
51+
expect(presets.jsWithBabelESM).toEqual(createJsWithBabelEsmPreset())
7252
expect(presets.jsWithBabelESMLegacy).toEqual({
7353
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
7454
transform: {

presets/index.js

+15-18
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,43 @@
11
const { JS_EXT_TO_TREAT_AS_ESM, TS_EXT_TO_TREAT_AS_ESM } = require('../dist/constants')
2-
const { createJestPreset } = require('../dist/presets/create-jest-preset')
2+
const {
3+
createJestPreset,
4+
createDefaultPreset,
5+
createDefaultEsmPreset,
6+
createJsWithTsPreset,
7+
createJsWithTsEsmPreset,
8+
createJsWithBabelPreset,
9+
createJsWithBabelEsmPreset,
10+
} = require('../dist/presets/create-jest-preset')
311

412
module.exports = {
513
get defaults() {
6-
return createJestPreset()
14+
return createDefaultPreset()
715
},
816
get defaultsLegacy() {
917
return createJestPreset(true, false)
1018
},
1119
get defaultsESM() {
12-
return createJestPreset(false, false, { extensionsToTreatAsEsm: TS_EXT_TO_TREAT_AS_ESM })
20+
return createDefaultEsmPreset()
1321
},
1422
get defaultsESMLegacy() {
1523
return createJestPreset(true, false, { extensionsToTreatAsEsm: TS_EXT_TO_TREAT_AS_ESM })
1624
},
1725
get jsWithTs() {
18-
return createJestPreset(false, true)
26+
return createJsWithTsPreset()
1927
},
2028
get jsWithTsLegacy() {
2129
return createJestPreset(true, true)
2230
},
2331
get jsWithTsESM() {
24-
return createJestPreset(false, true, {
25-
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
26-
})
32+
return createJsWithTsEsmPreset()
2733
},
2834
get jsWithTsESMLegacy() {
2935
return createJestPreset(true, true, {
3036
extensionsToTreatAsEsm: [...JS_EXT_TO_TREAT_AS_ESM, ...TS_EXT_TO_TREAT_AS_ESM],
3137
})
3238
},
3339
get jsWithBabel() {
34-
return createJestPreset(false, false, {
35-
transform: {
36-
'^.+\\.jsx?$': 'babel-jest',
37-
},
38-
})
40+
return createJsWithBabelPreset()
3941
},
4042
get jsWithBabelLegacy() {
4143
return createJestPreset(true, false, {
@@ -45,12 +47,7 @@ module.exports = {
4547
})
4648
},
4749
get jsWithBabelESM() {
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-
})
50+
return createJsWithBabelEsmPreset()
5451
},
5552
get jsWithBabelESMLegacy() {
5653
return createJestPreset(true, false, {

0 commit comments

Comments
 (0)