8000 feat: Support jest 28 (#468) · vuejs/vue-jest@d8568cb · GitHub
[go: up one dir, main page]

Skip to content
8000

Commit d8568cb

Browse files
valentinpalkovicValentin Palkovič
andauthored
feat: Support jest 28 (#468)
* Support Jest 28 fixes #467 [BREAKING CHANGE]: Drop support for jest 27 * Update ts-jest to use latest version * Update Typescript * Drop support for Node 10 Jest 28 dropped Node 10 support as well * Update Readme Co-authored-by: Valentin Palkovič <valentin.palkovic.extern@elinvar.de>
1 parent e2c7a56 commit d8568cb

File tree

23 files changed

+1024
-1299
lines changed

23 files changed

+1024
-1299
lines changed

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ Jest transformer for Vue Single File Components.
66

77
Since we need to support a variety of Vue and Jest versions, vue-jest doesn't follow semantic versioning.
88

9-
| Vue version | Jest Version | Package |
10-
| ----------- | ----------------- | ---------------- |
11-
| Vue 2 | Jest 26 and below | `vue-jest@4` |
12-
| Vue 3 | Jest 26 and below | `vue-jest@5` |
13-
| Vue 2 | Jest 27 | `@vue/vue2-jest` |
14-
| Vue 3 | Jest 27 | `@vue/vue3-jest` |
9+
| Vue version | Jest Version | Package |
10+
| ----------- | ----------------- | ------------------- |
11+
| Vue 2 | Jest 26 and below | `vue-jest@4` |
12+
| Vue 3 | Jest 26 and below | `vue-jest@5` |
13+
| Vue 2 | Jest 27 and above | `@vue/vue2-jest@xx` |
14+
| Vue 3 | Jest 27 and above | `@vue/vue3-jest@xx` |
15+
16+
**xx**: Major version of Jest
1517

1618
```bash
1719
npm install --save-dev @vue/vue2-jest # (use the appropriate version)

e2e/2.x/babel-in-package/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
"@vue/test-utils": "^1.1.0",
1919
"@vue/vue2-jest": "~27.0.0-alpha.1",
2020
"coffeescript": "^2.3.2",
21-
"jest": "27.x",
22-
"ts-jest": "^27.0.4",
23-
"typescript": "^3.2.2"
21+
"jest": "28.x",
22+
"jest-environment-jsdom": "28.0.2",
23+
"ts-jest": "^28.0.1",
24+
"typescript": "^4.6.4"
2425
},
2526
"jest": {
2627
"testEnvironment": "jsdom",

e2e/2.x/basic/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
"babel-plugin-transform-vue-jsx": "^3.7.0",
2020
"coffeescript": "^2.3.2",
2121
"jade": "^1.11.0",
22-
"jest": "27.x",
22+
"jest": "28.x",
23+
"jest-environment-jsdom": "28.0.2",
2324
"pug": "^3.0.1",
2425
"sass": "^1.23.7",
25-
"ts-jest": "^27.0.4",
26-
"typescript": "^3.2.2",
26+
"ts-jest": "^28.0.1",
27+
"typescript": "^4.6.4",
2728
"@vue/vue2-jest": "~27.0.0-alpha.1"
2829
},
2930
"jest": {

e2e/2.x/custom-transformers/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
"@babel/core": "^7.9.0",
1515
"@babel/preset-env": "^7.9.0",
1616
"@vue/test-utils": "^1.1.0",
17-
"babel-jest": "^27.0.6",
18-
"jest": "27.x",
17+
"babel-jest": "^28.0.2",
18+
"jest": "28.x",
19+
"jest-environment-jsdom": "28.0.2",
1920
"postcss": "^7.0.13",
2021
"postcss-color-function": "^4.0.1",
2122
"sass": "^1.23.7",

e2e/2.x/style/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@babel/core": "^7.9.0",
1515
"@babel/preset-env": "^7.9.0",
1616
"@vue/test-utils": "^1.1.0",
17-
"jest": "27.x",
17+
"jest": "28.x",
1818
"less": "^3.9.0",
1919
"postcss": "^7.0.13",
2020
"sass": "^1.23.7",

e2e/3.x/babel-in-package/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@
1313
"@babel/core": "^7.9.0",
1414
"@babel/preset-env": "^7.9.0",
1515
"coffeescript": "^2.3.2",
16-
"jest": "^27.0.0",
17-
"ts-jest": "^27.0.1",
18-
"typescript": "^4.1.2",
16+
"jest": "^28.0.0",
17+
"jest-environment-jsdom": "28.0.2",
18+
"ts-jest": "^28.0.1",
19+
"typescript": "^4.6.4",
1920
"@vue/vue3-jest": "^27.0.0-alpha.1"
2021
},
2122
"jest": {

e2e/3.x/basic/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@
1717
"babel-plugin-transform-vue-jsx": "^3.7.0",
1818
"coffeescript": "^2.3.2",
1919
"jade": "^1.11.0",
20-
"jest": "^27.0.0",
20+
"jest": "^28.0.2",
21+
"jest-environment-jsdom": "28.0.2",
2122
"pug": "^2.0.3",
22-
"ts-jest": "^27.0.1",
23-
"typescript": "^4.1.2",
23+
"ts-jest": "^28.0.1",
24+
"typescript": "^4.6.4",
2425
"vue-class-component": "^8.0.0-beta.4",
2526
"@vue/vue3-jest": "^27.0.0-alpha.1",
2627
"vue-property-decorator": "^10.0.0-rc.3"

e2e/3.x/custom-block/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"@babel/preset-env": "^7.9.0",
1515
"@vue/compiler-sfc": "^3.0.3",
1616
"@vue/vue3-jest": "^27.0.0-alpha.1",
17-
"jest": "^27.0.0"
17+
"jest": "^28.0.2",
18+
"jest-environment-jsdom": "28.0.2"
1819
},
1920
"jest": {
2021
"moduleFileExtensions": [

e2e/3.x/custom-transformers/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
"@babel/preset-env": "^7.9.0",
1515
"@vue/test-utils": "^2.0.0-rc.10",
1616
"@vue/vue3-jest": "^27.0.0-alpha.1",
17-
"babel-jest": "^27.0.0",
17+
"babel-jest": "^28.0.2",
1818
"css-tree": "^2.0.1",
19-
"jest": "^27.0.0",
19+
"jest": "^28.0.2",
20+
"jest-environment-jsdom": "28.0.2",
2021
"postcss": "^7.0.13",
2122
"postcss-color-function": "^4.0.1",
2223
"sass": "^1.23.7"

e2e/3.x/javascript/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"@babel/core": "^7.9.0",
1414
"@babel/preset-env": "^7.9.0",
1515
"coffeescript": "^2.3.2",
16-
"jest": "^27.0.0",
16+
"jest": "^28.0.2",
17+
"jest-environment-jsdom": "28.0.2",
1718
"@vue/vue3-jest": "^27.0.0-alpha.1"
1819
},
1920
"jest": {

e2e/3.x/style/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"@babel/core": "^7.9.0",
1414
"@babel/preset-env": "^7.9.0",
1515
"@vue/test-utils": "^2.0.0-rc.10",
16-
"jest": "^27.0.0",
16+
"jest": "^28.0.2",
17+
"jest-environment-jsdom": "28.0.2",
1718
"less": "^3.9.0",
1819
"postcss": "^7.0.13",
1920
"sass": "^1.23.7",

e2e/3.x/typescript-with-babel/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
"devDependencies": {
1313
"@babel/core": "^7.9.0",
1414
"@babel/preset-env": "^7.9.0",
15-
"jest": "^27.0.0",
16-
"ts-jest": "^27.0.1",
17-
"typescript": "^4.1.2",
15+
"jest": "^28.0.2",
16+
"jest-environment-jsdom": "28.0.2",
17+
"ts-jest": "^28.0.1",
18+
"typescript": "^4.6.4",
1819
"@vue/vue3-jest": "^27.0.0-alpha.1"
1920
},
2021
"jest": {

e2e/3.x/typescript-with-compiler-options/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
},
1212
"devDependencies": {
1313
"@types/jest": "16.0.10",
14-
"jest": "^27.0.0",
15-
"ts-jest": "^27.0.1",
16-
"typescript": "^4.1.2",
14+
"jest": "^28.0.2",
15+
"jest-environment-jsdom": "28.0.2",
16+
"ts-jest": "^28.0.1",
17+
"typescript": "^4.6.4",
1718
"@vue/vue3-jest": "^27.0.0-alpha.1"
1819
},
1920
"jest": {

e2e/3.x/typescript/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
},
1212
"devDependencies": {
1313
"@types/jest": "16.0.10",
14-
"jest": "^27.0.0",
15-
"ts-jest": "^27.0.1",
16-
"typescript": "^4.1.2",
14+
"jest": "^28.0.2",
15+
"jest-environment-jsdom": "28.0.2",
16+
"ts-jest": "^28.0.1",
17+
"typescript": "^4.6.4",
1718
"@vue/vue3-jest": "^27.0.0-alpha.1"
1819
},
1920
"jest": {

packages/vue2-jest/lib/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ module.exports = {
1010
return crypto
1111
.createHash('md5')
1212
.update(
13-
babelJest.getCacheKey(fileData, filename, {
13+
babelJest.createTransformer().getCacheKey(fileData, filename, {
1414
config,
1515
configString,
1616
instrument,

packages/vue2-jest/lib/process.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ function resolveTransformer(lang = 'js', vueJestConfig) {
2121
} else if (/^coffee$|coffeescript$/.test(lang)) {
2222
return transformer || coffeescriptTransformer
2323
} else {
24-
return transformer || babelTransformer
24+
return transformer || babelTransformer.createTransformer()
2525
}
2626
}
2727

packages/vue2-jest/lib/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ const getBabelOptions = function loadBabelOptions(filename, options = {}) {
6868
}
6969

7070
const getTsJestConfig = function getTsJestConfig(config) {
71-
const { ConfigSet } = require('ts-jest/dist/config/config-set')
71+
const { ConfigSet } = require('ts-jest/dist/legacy/config/config-set')
7272
const configSet = new ConfigSet(config.config)
7373
var tsConfig = configSet.typescript || configSet.parsedTsConfig
7474
return {

packages/vue2-jest/package.json

Lines changed: 10 additions & 7 deletions
74
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,20 @@
2828
"@babel/preset-env": "^7.9.0",
2929
"@vue/test-utils": "^1.1.0",
3030
"babel-core": "^7.0.0-bridge.0",
31-
"babel-jest": "^27.0.6",
31+
"babel-jest": "^28.0.2",
3232
"conventional-changelog": "^1.1.5",
33-
"jest": "^27.0.6",
33+
"jest": "^28.0.2",
3434
"semantic-release": "^15.13.2",
35-
"ts-jest": "^27.0.4",
36-
"typescript": "^3.2.2",
35+
"ts-jest": "^28.0.1",
36+
"typescript": "^4.6.4",
3737
"vue": "^2.4.2",
3838
"vue-template-compiler": "^2.4.2"
3939
},
4040
"peerDependencies": {
4141
"@babel/core": "7.x",
42-
"babel-jest": ">= 27 < 28",
43-
"jest": "27.x",
44-
"ts-jest": ">= 27 < 28",
42+
"babel-jest": ">= 28 < 29",
43+
"jest": "28.x",
44+
"ts-jest": ">= 28 < 29",
4545
"vue": "^2.x",
4646
"vue-template-compiler": "^2.x"
4747
},
@@ -71,5 +71,8 @@
7171
"yarn format",
7272
"git add"
7373
]
74+
},
75+
"engines": {
76+
"node": ">10"
77
}
7578
}

packages/vue3-jest/lib/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ module.exports = {
1010
return crypto
1111
.createHash('md5')
1212
.update(
13-
babelJest.getCacheKey(fileData, filename, {
13+
babelJest.createTransformer().getCacheKey(fileData, filename, {
1414
config,
1515
configString,
1616
instrument,

packages/vue3-jest/lib/process.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function resolveTransformer(lang = 'js', vueJestConfig) {
2323
} else if (/^coffee$|coffeescript$/.test(lang)) {
2424
return transformer || coffeescriptTransformer
2525
} else {
26-
return transformer || babelTransformer
26+
return transformer || babelTransformer.createTransformer()
2727
}
2828
}
2929

packages/vue3-jest/lib/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ const getTsJestConfig = function getTsJestConfig(config) {
7575
return null
7676
}
7777

78-
const { ConfigSet } = require('ts-jest/dist/config/config-set')
78+
const { ConfigSet } = require('ts-jest/dist/legacy/config/config-set')
7979
const configSet = new ConfigSet(config.config)
8080
const tsConfig = configSet.typescript || configSet.parsedTsConfig
8181
// Force es5 to prevent const vue_1 = require('vue') from conflicting

packages/vue3-jest/package.json

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,21 @@
2626
"devDependencies": {
2727
"@babel/core": "^7.9.0",
2828
"babel-core": "^7.0.0-bridge.0",
29-
"babel-jest": "^27.0.0",
29+
"babel-jest": "^28.0.2",
3030
"conventional-changelog": "^1.1.5",
31-
"jest": "^27.0.0",
32-
"jest-cli": "^27.0.0",
31+
"jest": "^28.0.2",
32+
"jest-cli": "^28.0.2",
3333
"semantic-release": "^15.13.2",
34-
"ts-jest": "^27.0.1",
35-
"typescript": "^4.1.2",
34+
"ts-jest": "^28.0.1",
35+
"typescript": "^4.6.4",
3636
"vue": "^3.2.22"
3737
},
3838
"peerDependencies": {
3939
"@babel/core": "7.x",
40-
"babel-jest": "27.x",
41-
"jest": "27.x",
42-
"ts-jest": "27.x",
43-
"typescript": ">= 3.x",
40+
"babel-jest": "28.x",
41+
"jest": "28.x",
42+
"ts-jest": "28.x",
43+
"typescript": ">= 4.3",
4444
"vue": "^3.0.0-0"
4545
},
4646
"peerDependenciesMeta": {
@@ -73,5 +73,8 @@
7373
"yarn format",
7474
"git add"
7575
]
76+
},
77+
"engines": {
78+
"node": ">10"
7679
}
7780
}

0 commit comments

Comments
 (0)
0