eslint-plugin-jest 27.0.0 → 27.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/rules/no-deprecated-functions.md +6 -7
- package/lib/index.js +6 -9
- package/lib/rules/no-done-callback.js +1 -2
- package/lib/rules/no-focused-tests.js +1 -2
- package/lib/rules/no-restricted-matchers.js +9 -1
- package/lib/rules/prefer-equality-matcher.js +1 -2
- package/lib/rules/prefer-expect-assertions.js +8 -7
- package/lib/rules/prefer-strict-equal.js +1 -2
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -257,7 +257,7 @@ that are powered by type-checking information provided by TypeScript.
|
|
|
257
257
|
|
|
258
258
|
In order to use these rules, you must be using `@typescript-eslint/parser` &
|
|
259
259
|
adjust your eslint config as outlined
|
|
260
|
-
[here](https://github.com/typescript-eslint/typescript-eslint/blob/
|
|
260
|
+
[here](https://github.com/typescript-eslint/typescript-eslint/blob/main/docs/linting/TYPED_LINTING.md).
|
|
261
261
|
|
|
262
262
|
Note that unlike the type-checking rules in `@typescript-eslint/eslint-plugin`,
|
|
263
263
|
the rules here will fallback to doing nothing if type information is not
|
|
@@ -20,13 +20,12 @@ This rule can also autofix a number of these deprecations for you.
|
|
|
20
20
|
|
|
21
21
|
### `jest.resetModuleRegistry`
|
|
22
22
|
|
|
23
|
-
This function was renamed to `resetModules` in Jest 15
|
|
24
|
-
removal in Jest 27.
|
|
23
|
+
This function was renamed to `resetModules` in Jest 15 and removed in Jest 27.
|
|
25
24
|
|
|
26
25
|
### `jest.addMatchers`
|
|
27
26
|
|
|
28
|
-
This function was replaced with `expect.extend` in Jest 17
|
|
29
|
-
|
|
27
|
+
This function was replaced with `expect.extend` in Jest 17 and removed in
|
|
28
|
+
Jest 27.
|
|
30
29
|
|
|
31
30
|
### `require.requireActual` & `require.requireMock`
|
|
32
31
|
|
|
@@ -41,10 +40,10 @@ the release of Jest 26 saw them removed from the `require` function altogether.
|
|
|
41
40
|
|
|
42
41
|
### `jest.runTimersToTime`
|
|
43
42
|
|
|
44
|
-
This function was renamed to `advanceTimersByTime` in Jest 22
|
|
45
|
-
|
|
43
|
+
This function was renamed to `advanceTimersByTime` in Jest 22 and removed in
|
|
44
|
+
Jest 27.
|
|
46
45
|
|
|
47
46
|
### `jest.genMockFromModule`
|
|
48
47
|
|
|
49
48
|
This function was renamed to `createMockFromModule` in Jest 26, and is scheduled
|
|
50
|
-
for removal in
|
|
49
|
+
for removal in Jest 30.
|
package/lib/index.js
CHANGED
|
@@ -48,15 +48,12 @@ module.exports = {
|
|
|
48
48
|
configs: {
|
|
49
49
|
all: createConfig(allRules),
|
|
50
50
|
recommended: createConfig(recommendedRules),
|
|
51
|
-
style: {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
'jest/prefer-to-have-length': 'error'
|
|
58
|
-
}
|
|
59
|
-
}
|
|
51
|
+
style: createConfig({
|
|
52
|
+
'jest/no-alias-methods': 'warn',
|
|
53
|
+
'jest/prefer-to-be': 'error',
|
|
54
|
+
'jest/prefer-to-contain': 'error',
|
|
55
|
+
'jest/prefer-to-have-length': 'error'
|
|
56
|
+
})
|
|
60
57
|
},
|
|
61
58
|
environments: {
|
|
62
59
|
globals: {
|
|
@@ -33,8 +33,7 @@ var _default = (0, _utils2.createRule)({
|
|
|
33
33
|
docs: {
|
|
34
34
|
category: 'Best Practices',
|
|
35
35
|
description: 'Avoid using a callback in asynchronous tests and hooks',
|
|
36
|
-
recommended: 'error'
|
|
37
|
-
suggestion: true
|
|
36
|
+
recommended: 'error'
|
|
38
37
|
},
|
|
39
38
|
messages: {
|
|
40
39
|
noDoneCallback: 'Return a Promise instead of relying on callback parameter',
|
|
@@ -15,8 +15,7 @@ var _default = (0, _utils2.createRule)({
|
|
|
15
15
|
docs: {
|
|
16
16
|
category: 'Best Practices',
|
|
17
17
|
description: 'Disallow focused tests',
|
|
18
|
-
recommended: 'error'
|
|
19
|
-
suggestion: true
|
|
18
|
+
recommended: 'error'
|
|
20
19
|
},
|
|
21
20
|
messages: {
|
|
22
21
|
focusedTest: 'Unexpected focused test.',
|
|
@@ -7,6 +7,14 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _utils = require("./utils");
|
|
9
9
|
|
|
10
|
+
const isChainRestricted = (chain, restriction) => {
|
|
11
|
+
if (_utils.ModifierName.hasOwnProperty(restriction) || restriction.endsWith('.not')) {
|
|
12
|
+
return chain.startsWith(restriction);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return chain === restriction;
|
|
16
|
+
};
|
|
17
|
+
|
|
10
18
|
var _default = (0, _utils.createRule)({
|
|
11
19
|
name: __filename,
|
|
12
20
|
meta: {
|
|
@@ -41,7 +49,7 @@ var _default = (0, _utils.createRule)({
|
|
|
41
49
|
const chain = jestFnCall.members.map(nod => (0, _utils.getAccessorValue)(nod)).join('.');
|
|
42
50
|
|
|
43
51
|
for (const [restriction, message] of Object.entries(restrictedChains)) {
|
|
44
|
-
if (chain
|
|
52
|
+
if (isChainRestricted(chain, restriction)) {
|
|
45
53
|
context.report({
|
|
46
54
|
messageId: message ? 'restrictedChainWithMessage' : 'restrictedChain',
|
|
47
55
|
data: {
|
|
@@ -15,8 +15,7 @@ var _default = (0, _utils2.createRule)({
|
|
|
15
15
|
docs: {
|
|
16
16
|
category: 'Best Practices',
|
|
17
17
|
description: 'Suggest using the built-in equality matchers',
|
|
18
|
-
recommended: false
|
|
19
|
-
suggestion: true
|
|
18
|
+
recommended: false
|
|
20
19
|
},
|
|
21
20
|
messages: {
|
|
22
21
|
useEqualityMatcher: 'Prefer using one of the equality matchers instead',
|
|
@@ -13,10 +13,16 @@ const isFirstStatement = node => {
|
|
|
13
13
|
let parent = node;
|
|
14
14
|
|
|
15
15
|
while (parent) {
|
|
16
|
-
var _parent$parent;
|
|
16
|
+
var _parent$parent, _parent$parent2;
|
|
17
17
|
|
|
18
18
|
if (((_parent$parent = parent.parent) === null || _parent$parent === void 0 ? void 0 : _parent$parent.type) === _utils.AST_NODE_TYPES.BlockStatement) {
|
|
19
19
|
return parent.parent.body[0] === parent;
|
|
20
|
+
} // if we've hit an arrow function, then it must have a single expression
|
|
21
|
+
// as its body, as otherwise we would have hit the block statement already
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
if (((_parent$parent2 = parent.parent) === null || _parent$parent2 === void 0 ? void 0 : _parent$parent2.type) === _utils.AST_NODE_TYPES.ArrowFunctionExpression) {
|
|
25
|
+
return true;
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
parent = parent.parent;
|
|
@@ -32,18 +38,13 @@ const suggestRemovingExtraArguments = (args, extraArgsStartAt) => ({
|
|
|
32
38
|
fix: fixer => fixer.removeRange([args[extraArgsStartAt].range[0] - Math.sign(extraArgsStartAt), args[args.length - 1].range[1]])
|
|
33
39
|
});
|
|
34
40
|
|
|
35
|
-
// const suggestions: Array<[MessageIds, string]> = [
|
|
36
|
-
// ['suggestAddingHasAssertions', 'expect.hasAssertions();'],
|
|
37
|
-
// ['suggestAddingAssertions', 'expect.assertions();'],
|
|
38
|
-
// ];
|
|
39
41
|
var _default = (0, _utils2.createRule)({
|
|
40
42
|
name: __filename,
|
|
41
43
|
meta: {
|
|
42
44
|
docs: {
|
|
43
45
|
category: 'Best Practices',
|
|
44
46
|
description: 'Suggest using `expect.assertions()` OR `expect.hasAssertions()`',
|
|
45
|
-
recommended: false
|
|
46
|
-
suggestion: true
|
|
47
|
+
recommended: false
|
|
47
48
|
},
|
|
48
49
|
messages: {
|
|
49
50
|
hasAssertionsTakesNoArguments: '`expect.hasAssertions` expects no arguments',
|
|
@@ -13,8 +13,7 @@ var _default = (0, _utils.createRule)({
|
|
|
13
13
|
docs: {
|
|
14
14
|
category: 'Best Practices',
|
|
15
15
|
description: 'Suggest using `toStrictEqual()`',
|
|
16
|
-
recommended: false
|
|
17
|
-
suggestion: true
|
|
16
|
+
recommended: false
|
|
18
17
|
},
|
|
19
18
|
messages: {
|
|
20
19
|
useToStrictEqual: 'Use `toStrictEqual()` instead',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-jest",
|
|
3
|
-
"version": "27.0.
|
|
3
|
+
"version": "27.0.3",
|
|
4
4
|
"description": "ESLint rules for Jest",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"@semantic-release/changelog": "^6.0.0",
|
|
110
110
|
"@semantic-release/git": "^10.0.0",
|
|
111
111
|
"@types/dedent": "^0.7.0",
|
|
112
|
-
"@types/jest": "^
|
|
112
|
+
"@types/jest": "^29.0.0",
|
|
113
113
|
"@types/node": "^14.18.26",
|
|
114
114
|
"@types/prettier": "^2.0.0",
|
|
115
115
|
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
@@ -131,6 +131,7 @@
|
|
|
131
131
|
"jest": "^29.0.0",
|
|
132
132
|
"jest-runner-eslint": "^1.1.0",
|
|
133
133
|
"lint-staged": "^13.0.3",
|
|
134
|
+
"markdown-link-check": "^3.10.2",
|
|
134
135
|
"pinst": "^3.0.0",
|
|
135
136
|
"prettier": "^2.0.5",
|
|
136
137
|
"rimraf": "^3.0.0",
|