eslint-plugin-jest 27.1.2 → 27.1.4

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.
Files changed (112) hide show
  1. package/README.md +81 -80
  2. package/docs/rules/consistent-test-it.md +4 -11
  3. package/docs/rules/expect-expect.md +3 -4
  4. package/docs/rules/max-expects.md +1 -5
  5. package/docs/rules/max-nested-describe.md +1 -5
  6. package/docs/rules/no-alias-methods.md +8 -10
  7. package/docs/rules/no-commented-out-tests.md +3 -4
  8. package/docs/rules/no-conditional-expect.md +4 -5
  9. package/docs/rules/no-conditional-in-test.md +1 -5
  10. package/docs/rules/no-deprecated-functions.md +5 -7
  11. package/docs/rules/no-disabled-tests.md +3 -4
  12. package/docs/rules/no-done-callback.md +6 -8
  13. package/docs/rules/no-duplicate-hooks.md +1 -5
  14. package/docs/rules/no-export.md +3 -4
  15. package/docs/rules/no-focused-tests.md +5 -7
  16. package/docs/rules/no-hooks.md +1 -5
  17. package/docs/rules/no-identical-title.md +3 -4
  18. package/docs/rules/no-if.md +2 -2
  19. package/docs/rules/no-interpolation-in-snapshots.md +3 -4
  20. package/docs/rules/no-jasmine-globals.md +6 -8
  21. package/docs/rules/no-large-snapshots.md +2 -6
  22. package/docs/rules/no-mocks-import.md +3 -4
  23. package/docs/rules/no-restricted-jest-methods.md +1 -5
  24. package/docs/rules/no-restricted-matchers.md +1 -5
  25. package/docs/rules/no-standalone-expect.md +3 -4
  26. package/docs/rules/no-test-prefixes.md +6 -8
  27. package/docs/rules/no-test-return-statement.md +1 -5
  28. package/docs/rules/prefer-called-with.md +1 -5
  29. package/docs/rules/prefer-comparison-matcher.md +3 -8
  30. package/docs/rules/prefer-each.md +1 -5
  31. package/docs/rules/prefer-equality-matcher.md +3 -8
  32. package/docs/rules/prefer-expect-assertions.md +3 -10
  33. package/docs/rules/prefer-expect-resolves.md +3 -8
  34. package/docs/rules/prefer-hooks-in-order.md +1 -5
  35. package/docs/rules/prefer-hooks-on-top.md +1 -5
  36. package/docs/rules/prefer-lowercase-title.md +3 -8
  37. package/docs/rules/prefer-mock-promise-shorthand.md +3 -8
  38. package/docs/rules/prefer-snapshot-hint.md +1 -5
  39. package/docs/rules/prefer-spy-on.md +3 -10
  40. package/docs/rules/prefer-strict-equal.md +3 -10
  41. package/docs/rules/prefer-to-be.md +5 -7
  42. package/docs/rules/prefer-to-contain.md +5 -9
  43. package/docs/rules/prefer-to-have-length.md +5 -9
  44. package/docs/rules/prefer-todo.md +3 -10
  45. package/docs/rules/require-hook.md +1 -5
  46. package/docs/rules/require-to-throw-message.md +1 -7
  47. package/docs/rules/require-top-level-describe.md +1 -5
  48. package/docs/rules/unbound-method.md +2 -4
  49. package/docs/rules/valid-describe-callback.md +3 -4
  50. package/docs/rules/valid-expect-in-promise.md +4 -5
  51. package/docs/rules/valid-expect.md +3 -6
  52. package/docs/rules/valid-title.md +5 -7
  53. package/lib/index.js +8 -16
  54. package/lib/processors/snapshot-processor.js +3 -5
  55. package/lib/rules/consistent-test-it.js +1 -19
  56. package/lib/rules/expect-expect.js +0 -15
  57. package/lib/rules/max-expects.js +0 -16
  58. package/lib/rules/max-nested-describe.js +0 -13
  59. package/lib/rules/no-alias-methods.js +0 -9
  60. package/lib/rules/no-commented-out-tests.js +0 -10
  61. package/lib/rules/no-conditional-expect.js +1 -20
  62. package/lib/rules/no-conditional-in-test.js +0 -9
  63. package/lib/rules/no-deprecated-functions.js +2 -18
  64. package/lib/rules/no-disabled-tests.js +2 -18
  65. package/lib/rules/no-done-callback.js +2 -31
  66. package/lib/rules/no-duplicate-hooks.js +0 -12
  67. package/lib/rules/no-export.js +0 -12
  68. package/lib/rules/no-focused-tests.js +0 -15
  69. package/lib/rules/no-hooks.js +0 -7
  70. package/lib/rules/no-identical-title.js +0 -19
  71. package/lib/rules/no-if.js +0 -24
  72. package/lib/rules/no-interpolation-in-snapshots.js +0 -9
  73. package/lib/rules/no-jasmine-globals.js +0 -22
  74. package/lib/rules/no-large-snapshots.js +3 -21
  75. package/lib/rules/no-mocks-import.js +0 -12
  76. package/lib/rules/no-restricted-jest-methods.js +1 -11
  77. package/lib/rules/no-restricted-matchers.js +0 -11
  78. package/lib/rules/no-standalone-expect.js +7 -33
  79. package/lib/rules/no-test-prefixes.js +1 -13
  80. package/lib/rules/no-test-return-statement.js +0 -12
  81. package/lib/rules/prefer-called-with.js +0 -10
  82. package/lib/rules/prefer-comparison-matcher.js +8 -33
  83. package/lib/rules/prefer-each.js +0 -18
  84. package/lib/rules/prefer-equality-matcher.js +11 -23
  85. package/lib/rules/prefer-expect-assertions.js +4 -51
  86. package/lib/rules/prefer-expect-resolves.js +0 -12
  87. package/lib/rules/prefer-hooks-in-order.js +2 -16
  88. package/lib/rules/prefer-hooks-on-top.js +0 -9
  89. package/lib/rules/prefer-lowercase-title.js +0 -23
  90. package/lib/rules/prefer-mock-promise-shorthand.js +5 -26
  91. package/lib/rules/prefer-snapshot-hint.js +7 -31
  92. package/lib/rules/prefer-spy-on.js +0 -17
  93. package/lib/rules/prefer-strict-equal.js +0 -9
  94. package/lib/rules/prefer-to-be.js +1 -30
  95. package/lib/rules/prefer-to-contain.js +11 -21
  96. package/lib/rules/prefer-to-have-length.js +4 -16
  97. package/lib/rules/prefer-todo.js +2 -18
  98. package/lib/rules/require-hook.js +0 -22
  99. package/lib/rules/require-to-throw-message.js +0 -9
  100. package/lib/rules/require-top-level-describe.js +0 -15
  101. package/lib/rules/unbound-method.js +2 -21
  102. package/lib/rules/utils/accessors.js +6 -18
  103. package/lib/rules/utils/detectJestVersion.js +2 -7
  104. package/lib/rules/utils/followTypeAssertionChain.js +0 -4
  105. package/lib/rules/utils/index.js +0 -10
  106. package/lib/rules/utils/misc.js +2 -46
  107. package/lib/rules/utils/parseJestFnCall.js +62 -118
  108. package/lib/rules/valid-describe-callback.js +0 -17
  109. package/lib/rules/valid-expect-in-promise.js +27 -94
  110. package/lib/rules/valid-expect.js +5 -48
  111. package/lib/rules/valid-title.js +0 -33
  112. package/package.json +3 -2
@@ -4,40 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _utils = require("@typescript-eslint/utils");
9
-
10
8
  var _utils2 = require("./utils");
11
-
12
9
  function isEmptyFunction(node) {
13
10
  if (!(0, _utils2.isFunction)(node)) {
14
11
  return false;
15
12
  }
16
-
17
13
  return node.body.type === _utils.AST_NODE_TYPES.BlockStatement && !node.body.body.length;
18
14
  }
19
-
20
15
  function createTodoFixer(jestFnCall, fixer) {
21
16
  if (jestFnCall.members.length) {
22
17
  return (0, _utils2.replaceAccessorFixer)(fixer, jestFnCall.members[0], 'todo');
23
18
  }
24
-
25
19
  return fixer.replaceText(jestFnCall.head.node, `${jestFnCall.head.local}.todo`);
26
20
  }
27
-
28
21
  const isTargetedTestCase = jestFnCall => {
29
22
  if (jestFnCall.members.some(s => (0, _utils2.getAccessorValue)(s) !== 'skip')) {
30
23
  return false;
31
- } // todo: we should support this too (needs custom fixer)
32
-
24
+ }
33
25
 
26
+ // todo: we should support this too (needs custom fixer)
34
27
  if (jestFnCall.name.startsWith('x')) {
35
28
  return false;
36
29
  }
37
-
38
30
  return !jestFnCall.name.startsWith('f');
39
31
  };
40
-
41
32
  var _default = (0, _utils2.createRule)({
42
33
  name: __filename,
43
34
  meta: {
@@ -55,17 +46,14 @@ var _default = (0, _utils2.createRule)({
55
46
  type: 'layout'
56
47
  },
57
48
  defaultOptions: [],
58
-
59
49
  create(context) {
60
50
  return {
61
51
  CallExpression(node) {
62
52
  const [title, callback] = node.arguments;
63
53
  const jestFnCall = (0, _utils2.parseJestFnCall)(node, context);
64
-
65
54
  if (!title || (jestFnCall === null || jestFnCall === void 0 ? void 0 : jestFnCall.type) !== 'test' || !isTargetedTestCase(jestFnCall) || !(0, _utils2.isStringNode)(title)) {
66
55
  return;
67
56
  }
68
-
69
57
  if (callback && isEmptyFunction(callback)) {
70
58
  context.report({
71
59
  messageId: 'emptyTest',
@@ -73,7 +61,6 @@ var _default = (0, _utils2.createRule)({
73
61
  fix: fixer => [fixer.removeRange([title.range[1], callback.range[1]]), createTodoFixer(jestFnCall, fixer)]
74
62
  });
75
63
  }
76
-
77
64
  if ((0, _utils2.hasOnlyOneArgument)(node)) {
78
65
  context.report({
79
66
  messageId: 'unimplementedTest',
@@ -82,10 +69,7 @@ var _default = (0, _utils2.createRule)({
82
69
  });
83
70
  }
84
71
  }
85
-
86
72
  };
87
73
  }
88
-
89
74
  });
90
-
91
75
  exports.default = _default;
@@ -4,49 +4,37 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _utils = require("@typescript-eslint/utils");
9
-
10
8
  var _utils2 = require("./utils");
11
-
12
9
  const isJestFnCall = (node, context) => {
13
10
  var _getNodeName;
14
-
15
11
  if ((0, _utils2.parseJestFnCall)(node, context)) {
16
12
  return true;
17
13
  }
18
-
19
14
  return !!((_getNodeName = (0, _utils2.getNodeName)(node)) !== null && _getNodeName !== void 0 && _getNodeName.startsWith('jest.'));
20
15
  };
21
-
22
16
  const isNullOrUndefined = node => {
23
17
  return node.type === _utils.AST_NODE_TYPES.Literal && node.value === null || (0, _utils2.isIdentifier)(node, 'undefined');
24
18
  };
25
-
26
19
  const shouldBeInHook = (node, context, allowedFunctionCalls = []) => {
27
20
  switch (node.type) {
28
21
  case _utils.AST_NODE_TYPES.ExpressionStatement:
29
22
  return shouldBeInHook(node.expression, context, allowedFunctionCalls);
30
-
31
23
  case _utils.AST_NODE_TYPES.CallExpression:
32
24
  return !(isJestFnCall(node, context) || allowedFunctionCalls.includes((0, _utils2.getNodeName)(node)));
33
-
34
25
  case _utils.AST_NODE_TYPES.VariableDeclaration:
35
26
  {
36
27
  if (node.kind === 'const') {
37
28
  return false;
38
29
  }
39
-
40
30
  return node.declarations.some(({
41
31
  init
42
32
  }) => init !== null && !isNullOrUndefined(init));
43
33
  }
44
-
45
34
  default:
46
35
  return false;
47
36
  }
48
37
  };
49
-
50
38
  var _default = (0, _utils2.createRule)({
51
39
  name: __filename,
52
40
  meta: {
@@ -75,12 +63,10 @@ var _default = (0, _utils2.createRule)({
75
63
  defaultOptions: [{
76
64
  allowedFunctionCalls: []
77
65
  }],
78
-
79
66
  create(context) {
80
67
  const {
81
68
  allowedFunctionCalls
82
69
  } = context.options[0] ?? {};
83
-
84
70
  const checkBlockBody = body => {
85
71
  for (const statement of body) {
86
72
  if (shouldBeInHook(statement, context, allowedFunctionCalls)) {
@@ -91,29 +77,21 @@ var _default = (0, _utils2.createRule)({
91
77
  }
92
78
  }
93
79
  };
94
-
95
80
  return {
96
81
  Program(program) {
97
82
  checkBlockBody(program.body);
98
83
  },
99
-
100
84
  CallExpression(node) {
101
85
  if (!(0, _utils2.isTypeOfJestFnCall)(node, context, ['describe']) || node.arguments.length < 2) {
102
86
  return;
103
87
  }
104
-
105
88
  const [, testFn] = node.arguments;
106
-
107
89
  if (!(0, _utils2.isFunction)(testFn) || testFn.body.type !== _utils.AST_NODE_TYPES.BlockStatement) {
108
90
  return;
109
91
  }
110
-
111
92
  checkBlockBody(testFn.body.body);
112
93
  }
113
-
114
94
  };
115
95
  }
116
-
117
96
  });
118
-
119
97
  exports.default = _default;
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _utils = require("./utils");
9
-
10
8
  var _default = (0, _utils.createRule)({
11
9
  name: __filename,
12
10
  meta: {
@@ -22,21 +20,17 @@ var _default = (0, _utils.createRule)({
22
20
  schema: []
23
21
  },
24
22
  defaultOptions: [],
25
-
26
23
  create(context) {
27
24
  return {
28
25
  CallExpression(node) {
29
26
  const jestFnCall = (0, _utils.parseJestFnCall)(node, context);
30
-
31
27
  if ((jestFnCall === null || jestFnCall === void 0 ? void 0 : jestFnCall.type) !== 'expect') {
32
28
  return;
33
29
  }
34
-
35
30
  const {
36
31
  matcher
37
32
  } = jestFnCall;
38
33
  const matcherName = (0, _utils.getAccessorValue)(matcher);
39
-
40
34
  if (jestFnCall.args.length === 0 && ['toThrow', 'toThrowError'].includes(matcherName) && !jestFnCall.modifiers.some(nod => (0, _utils.getAccessorValue)(nod) === 'not')) {
41
35
  // Look for `toThrow` calls with no arguments.
42
36
  context.report({
@@ -48,10 +42,7 @@ var _default = (0, _utils.createRule)({
48
42
  });
49
43
  }
50
44
  }
51
-
52
45
  };
53
46
  }
54
-
55
47
  });
56
-
57
48
  exports.default = _default;
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _utils = require("./utils");
9
-
10
8
  const messages = {
11
9
  tooManyDescribes: 'There should not be more than {{ max }} describe{{ s }} at the top level',
12
10
  unexpectedTestCase: 'All test cases must be wrapped in a describe block.',
13
11
  unexpectedHook: 'All hooks must be wrapped in a describe block.'
14
12
  };
15
-
16
13
  var _default = (0, _utils.createRule)({
17
14
  name: __filename,
18
15
  meta: {
@@ -35,7 +32,6 @@ var _default = (0, _utils.createRule)({
35
32
  }]
36
33
  },
37
34
  defaultOptions: [{}],
38
-
39
35
  create(context) {
40
36
  const {
41
37
  maxNumberOfTopLevelDescribes = Infinity
@@ -45,17 +41,13 @@ var _default = (0, _utils.createRule)({
45
41
  return {
46
42
  CallExpression(node) {
47
43
  const jestFnCall = (0, _utils.parseJestFnCall)(node, context);
48
-
49
44
  if (!jestFnCall) {
50
45
  return;
51
46
  }
52
-
53
47
  if (jestFnCall.type === 'describe') {
54
48
  numberOfDescribeBlocks++;
55
-
56
49
  if (numberOfDescribeBlocks === 1) {
57
50
  numberOfTopLevelDescribeBlocks++;
58
-
59
51
  if (numberOfTopLevelDescribeBlocks > maxNumberOfTopLevelDescribes) {
60
52
  context.report({
61
53
  node,
@@ -67,10 +59,8 @@ var _default = (0, _utils.createRule)({
67
59
  });
68
60
  }
69
61
  }
70
-
71
62
  return;
72
63
  }
73
-
74
64
  if (numberOfDescribeBlocks === 0) {
75
65
  if (jestFnCall.type === 'test') {
76
66
  context.report({
@@ -79,7 +69,6 @@ var _default = (0, _utils.createRule)({
79
69
  });
80
70
  return;
81
71
  }
82
-
83
72
  if (jestFnCall.type === 'hook') {
84
73
  context.report({
85
74
  node,
@@ -89,16 +78,12 @@ var _default = (0, _utils.createRule)({
89
78
  }
90
79
  }
91
80
  },
92
-
93
81
  'CallExpression:exit'(node) {
94
82
  if ((0, _utils.isTypeOfJestFnCall)(node, context, ['describe'])) {
95
83
  numberOfDescribeBlocks--;
96
84
  }
97
85
  }
98
-
99
86
  };
100
87
  }
101
-
102
88
  });
103
-
104
89
  exports.default = _default;
@@ -4,32 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _utils = require("@typescript-eslint/utils");
9
-
10
8
  var _utils2 = require("./utils");
11
-
12
9
  const toThrowMatchers = ['toThrow', 'toThrowError', 'toThrowErrorMatchingSnapshot', 'toThrowErrorMatchingInlineSnapshot'];
13
-
14
10
  const baseRule = (() => {
15
11
  try {
16
12
  // eslint-disable-next-line @typescript-eslint/no-require-imports
17
13
  const TSESLintPlugin = require('@typescript-eslint/eslint-plugin');
18
-
19
14
  return TSESLintPlugin.rules['unbound-method'];
20
15
  } catch (e) {
21
16
  const error = e;
22
-
23
17
  if (error.code === 'MODULE_NOT_FOUND') {
24
18
  return null;
25
19
  }
26
-
27
20
  throw error;
28
21
  }
29
22
  })();
30
-
31
23
  const DEFAULT_MESSAGE = 'This rule requires `@typescript-eslint/eslint-plugin`';
32
-
33
24
  var _default = (0, _utils2.createRule)({
34
25
  defaultOptions: [{
35
26
  ignoreStatic: false
@@ -52,39 +43,29 @@ var _default = (0, _utils2.createRule)({
52
43
  recommended: false
53
44
  }
54
45
  },
55
-
56
46
  create(context) {
57
47
  const baseSelectors = baseRule === null || baseRule === void 0 ? void 0 : baseRule.create(context);
58
-
59
48
  if (!baseSelectors) {
60
49
  return {};
61
50
  }
62
-
63
- return { ...baseSelectors,
64
-
51
+ return {
52
+ ...baseSelectors,
65
53
  MemberExpression(node) {
66
54
  var _node$parent, _baseSelectors$Member;
67
-
68
55
  if (((_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent.type) === _utils.AST_NODE_TYPES.CallExpression) {
69
56
  const jestFnCall = (0, _utils2.parseJestFnCall)((0, _utils2.findTopMostCallExpression)(node.parent), context);
70
-
71
57
  if ((jestFnCall === null || jestFnCall === void 0 ? void 0 : jestFnCall.type) === 'expect') {
72
58
  const {
73
59
  matcher
74
60
  } = jestFnCall;
75
-
76
61
  if (!toThrowMatchers.includes((0, _utils2.getAccessorValue)(matcher))) {
77
62
  return;
78
63
  }
79
64
  }
80
65
  }
81
-
82
66
  (_baseSelectors$Member = baseSelectors.MemberExpression) === null || _baseSelectors$Member === void 0 ? void 0 : _baseSelectors$Member.call(baseSelectors, node);
83
67
  }
84
-
85
68
  };
86
69
  }
87
-
88
70
  });
89
-
90
71
  exports.default = _default;
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isSupportedAccessor = exports.isStringNode = exports.isIdentifier = exports.getStringValue = exports.getAccessorValue = void 0;
7
-
8
7
  var _utils = require("@typescript-eslint/utils");
9
-
10
8
  /**
11
9
  * Checks if the given `node` is a `StringLiteral`.
12
10
  *
@@ -21,7 +19,6 @@ var _utils = require("@typescript-eslint/utils");
21
19
  * @template V
22
20
  */
23
21
  const isStringLiteral = (node, value) => node.type === _utils.AST_NODE_TYPES.Literal && typeof node.value === 'string' && (value === undefined || node.value === value);
24
-
25
22
  /**
26
23
  * Checks if the given `node` is a `TemplateLiteral`.
27
24
  *
@@ -37,9 +34,9 @@ const isStringLiteral = (node, value) => node.type === _utils.AST_NODE_TYPES.Lit
37
34
  *
38
35
  * @template V
39
36
  */
40
- const isTemplateLiteral = (node, value) => node.type === _utils.AST_NODE_TYPES.TemplateLiteral && node.quasis.length === 1 && ( // bail out if not simple
37
+ const isTemplateLiteral = (node, value) => node.type === _utils.AST_NODE_TYPES.TemplateLiteral && node.quasis.length === 1 && (
38
+ // bail out if not simple
41
39
  value === undefined || node.quasis[0].value.raw === value);
42
-
43
40
  /**
44
41
  * Checks if the given `node` is a {@link StringNode}.
45
42
  *
@@ -51,6 +48,7 @@ value === undefined || node.quasis[0].value.raw === value);
51
48
  * @template V
52
49
  */
53
50
  const isStringNode = (node, specifics) => isStringLiteral(node, specifics) || isTemplateLiteral(node, specifics);
51
+
54
52
  /**
55
53
  * Gets the value of the given `StringNode`.
56
54
  *
@@ -63,18 +61,13 @@ const isStringNode = (node, specifics) => isStringLiteral(node, specifics) || is
63
61
  *
64
62
  * @template S
65
63
  */
66
-
67
-
68
64
  exports.isStringNode = isStringNode;
69
-
70
65
  const getStringValue = node => isTemplateLiteral(node) ? node.quasis[0].value.raw : node.value;
66
+
71
67
  /**
72
68
  * An `Identifier` with a known `name` value - i.e `expect`.
73
69
  */
74
-
75
-
76
70
  exports.getStringValue = getStringValue;
77
-
78
71
  /**
79
72
  * Checks if the given `node` is an `Identifier`.
80
73
  *
@@ -89,6 +82,7 @@ exports.getStringValue = getStringValue;
89
82
  * @template V
90
83
  */
91
84
  const isIdentifier = (node, name) => node.type === _utils.AST_NODE_TYPES.Identifier && (name === undefined || node.name === name);
85
+
92
86
  /**
93
87
  * Checks if the given `node` is a "supported accessor".
94
88
  *
@@ -111,11 +105,9 @@ const isIdentifier = (node, name) => node.type === _utils.AST_NODE_TYPES.Identif
111
105
  *
112
106
  * @template V
113
107
  */
114
-
115
-
116
108
  exports.isIdentifier = isIdentifier;
117
-
118
109
  const isSupportedAccessor = (node, value) => isIdentifier(node, value) || isStringNode(node, value);
110
+
119
111
  /**
120
112
  * Gets the value of the given `AccessorNode`,
121
113
  * account for the different node types.
@@ -126,10 +118,6 @@ const isSupportedAccessor = (node, value) => isIdentifier(node, value) || isStri
126
118
  *
127
119
  * @template S
128
120
  */
129
-
130
-
131
121
  exports.isSupportedAccessor = isSupportedAccessor;
132
-
133
122
  const getAccessorValue = accessor => accessor.type === _utils.AST_NODE_TYPES.Identifier ? accessor.name : getStringValue(accessor);
134
-
135
123
  exports.getAccessorValue = getAccessorValue;
@@ -5,25 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.detectJestVersion = void 0;
7
7
  let cachedJestVersion = null;
8
-
9
8
  const detectJestVersion = () => {
10
9
  if (cachedJestVersion) {
11
10
  return cachedJestVersion;
12
11
  }
13
-
14
12
  try {
15
13
  const jestPath = require.resolve('jest/package.json');
16
-
17
- const jestPackageJson = // eslint-disable-next-line @typescript-eslint/no-require-imports
14
+ const jestPackageJson =
15
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
18
16
  require(jestPath);
19
-
20
17
  if (jestPackageJson.version) {
21
18
  const [majorVersion] = jestPackageJson.version.split('.');
22
19
  return cachedJestVersion = parseInt(majorVersion, 10);
23
20
  }
24
21
  } catch {}
25
-
26
22
  throw new Error('Unable to detect Jest version - please ensure jest package is installed, or otherwise set version explicitly');
27
23
  };
28
-
29
24
  exports.detectJestVersion = detectJestVersion;
@@ -4,11 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.followTypeAssertionChain = void 0;
7
-
8
7
  var _utils = require("@typescript-eslint/utils");
9
-
10
8
  const isTypeCastExpression = node => node.type === _utils.AST_NODE_TYPES.TSAsExpression || node.type === _utils.AST_NODE_TYPES.TSTypeAssertion;
11
-
12
9
  const followTypeAssertionChain = expression => isTypeCastExpression(expression) ? followTypeAssertionChain(expression.expression) : expression;
13
-
14
10
  exports.followTypeAssertionChain = followTypeAssertionChain;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _accessors = require("./accessors");
8
-
9
7
  Object.keys(_accessors).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _accessors[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_accessors).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
17
  var _detectJestVersion = require("./detectJestVersion");
21
-
22
18
  Object.keys(_detectJestVersion).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _detectJestVersion[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_detectJestVersion).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
28
  var _followTypeAssertionChain = require("./followTypeAssertionChain");
34
-
35
29
  Object.keys(_followTypeAssertionChain).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _followTypeAssertionChain[key]) return;
@@ -42,9 +36,7 @@ Object.keys(_followTypeAssertionChain).forEach(function (key) {
42
36
  }
43
37
  });
44
38
  });
45
-
46
39
  var _misc = require("./misc");
47
-
48
40
  Object.keys(_misc).forEach(function (key) {
49
41
  if (key === "default" || key === "__esModule") return;
50
42
  if (key in exports && exports[key] === _misc[key]) return;
@@ -55,9 +47,7 @@ Object.keys(_misc).forEach(function (key) {
55
47
  }
56
48
  });
57
49
  });
58
-
59
50
  var _parseJestFnCall = require("./parseJestFnCall");
60
-
61
51
  Object.keys(_parseJestFnCall).forEach(function (key) {
62
52
  if (key === "default" || key === "__esModule") return;
63
53
  if (key in exports && exports[key] === _parseJestFnCall[key]) return;