@typescript-eslint/eslint-plugin 8.8.2-alpha.0 → 8.8.2-alpha.1
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/dist/rules/adjacent-overload-signatures.js +7 -7
- package/dist/rules/adjacent-overload-signatures.js.map +1 -1
- package/dist/rules/array-type.js +6 -6
- package/dist/rules/array-type.js.map +1 -1
- package/dist/rules/await-thenable.js +3 -3
- package/dist/rules/await-thenable.js.map +1 -1
- package/dist/rules/ban-ts-comment.js +19 -19
- package/dist/rules/ban-ts-comment.js.map +1 -1
- package/dist/rules/ban-tslint-comment.js +2 -2
- package/dist/rules/ban-tslint-comment.js.map +1 -1
- package/dist/rules/class-literal-property-style.js +2 -2
- package/dist/rules/class-literal-property-style.js.map +1 -1
- package/dist/rules/class-methods-use-this.js +20 -20
- package/dist/rules/class-methods-use-this.js.map +1 -1
- package/dist/rules/consistent-generic-constructors.js +3 -3
- package/dist/rules/consistent-generic-constructors.js.map +1 -1
- package/dist/rules/consistent-indexed-object-style.js +6 -6
- package/dist/rules/consistent-indexed-object-style.js.map +1 -1
- package/dist/rules/consistent-return.js +6 -6
- package/dist/rules/consistent-return.js.map +1 -1
- package/dist/rules/consistent-type-assertions.js +13 -13
- package/dist/rules/consistent-type-assertions.js.map +1 -1
- package/dist/rules/consistent-type-definitions.js +1 -1
- package/dist/rules/consistent-type-definitions.js.map +1 -1
- package/dist/rules/consistent-type-exports.js +8 -8
- package/dist/rules/consistent-type-exports.js.map +1 -1
- package/dist/rules/consistent-type-imports.js +17 -17
- package/dist/rules/consistent-type-imports.js.map +1 -1
- package/dist/rules/default-param-last.js +1 -1
- package/dist/rules/default-param-last.js.map +1 -1
- package/dist/rules/dot-notation.js +16 -16
- package/dist/rules/dot-notation.js.map +1 -1
- package/dist/rules/explicit-function-return-type.js +28 -28
- package/dist/rules/explicit-function-return-type.js.map +1 -1
- package/dist/rules/explicit-member-accessibility.js +22 -22
- package/dist/rules/explicit-member-accessibility.js.map +1 -1
- package/dist/rules/explicit-module-boundary-types.js +17 -17
- package/dist/rules/explicit-module-boundary-types.js.map +1 -1
- package/dist/rules/init-declarations.js +1 -1
- package/dist/rules/init-declarations.js.map +1 -1
- package/dist/rules/max-params.js +9 -9
- package/dist/rules/max-params.js.map +1 -1
- package/dist/rules/member-ordering.js +24 -23
- package/dist/rules/member-ordering.js.map +1 -1
- package/dist/rules/method-signature-style.js.map +1 -1
- package/dist/rules/naming-convention-utils/format.js +3 -3
- package/dist/rules/naming-convention-utils/format.js.map +1 -1
- package/dist/rules/naming-convention-utils/index.js +3 -3
- package/dist/rules/naming-convention-utils/index.js.map +1 -1
- package/dist/rules/naming-convention-utils/parse-options.js +14 -14
- package/dist/rules/naming-convention-utils/parse-options.js.map +1 -1
- package/dist/rules/naming-convention-utils/schema.js +54 -54
- package/dist/rules/naming-convention-utils/schema.js.map +1 -1
- package/dist/rules/naming-convention-utils/shared.js +1 -1
- package/dist/rules/naming-convention-utils/shared.js.map +1 -1
- package/dist/rules/naming-convention-utils/validator.js +26 -26
- package/dist/rules/naming-convention-utils/validator.js.map +1 -1
- package/dist/rules/naming-convention.js +133 -133
- package/dist/rules/naming-convention.js.map +1 -1
- package/dist/rules/no-array-constructor.js +1 -1
- package/dist/rules/no-array-constructor.js.map +1 -1
- package/dist/rules/no-array-delete.js +1 -1
- package/dist/rules/no-array-delete.js.map +1 -1
- package/dist/rules/no-base-to-string.js +6 -6
- package/dist/rules/no-base-to-string.js.map +1 -1
- package/dist/rules/no-confusing-non-null-assertion.js +2 -2
- package/dist/rules/no-confusing-non-null-assertion.js.map +1 -1
- package/dist/rules/no-confusing-void-expression.js +10 -10
- package/dist/rules/no-confusing-void-expression.js.map +1 -1
- package/dist/rules/no-deprecated.js +3 -3
- package/dist/rules/no-deprecated.js.map +1 -1
- package/dist/rules/no-dupe-class-members.js +1 -1
- package/dist/rules/no-dupe-class-members.js.map +1 -1
- package/dist/rules/no-duplicate-enum-values.js.map +1 -1
- package/dist/rules/no-duplicate-type-constituents.js +7 -7
- package/dist/rules/no-duplicate-type-constituents.js.map +1 -1
- package/dist/rules/no-dynamic-delete.js +4 -4
- package/dist/rules/no-dynamic-delete.js.map +1 -1
- package/dist/rules/no-empty-function.js +2 -2
- package/dist/rules/no-empty-function.js.map +1 -1
- package/dist/rules/no-empty-interface.js +3 -3
- package/dist/rules/no-empty-interface.js.map +1 -1
- package/dist/rules/no-empty-object-type.js +11 -11
- package/dist/rules/no-empty-object-type.js.map +1 -1
- package/dist/rules/no-explicit-any.js +9 -9
- package/dist/rules/no-explicit-any.js.map +1 -1
- package/dist/rules/no-extra-non-null-assertion.js +3 -3
- package/dist/rules/no-extra-non-null-assertion.js.map +1 -1
- package/dist/rules/no-extraneous-class.js +9 -9
- package/dist/rules/no-extraneous-class.js.map +1 -1
- package/dist/rules/no-floating-promises.js +14 -14
- package/dist/rules/no-floating-promises.js.map +1 -1
- package/dist/rules/no-for-in-array.js +1 -1
- package/dist/rules/no-for-in-array.js.map +1 -1
- package/dist/rules/no-implied-eval.js +4 -4
- package/dist/rules/no-implied-eval.js.map +1 -1
- package/dist/rules/no-import-type-side-effects.js.map +1 -1
- package/dist/rules/no-inferrable-types.js +7 -7
- package/dist/rules/no-inferrable-types.js.map +1 -1
- package/dist/rules/no-invalid-this.js +7 -7
- package/dist/rules/no-invalid-this.js.map +1 -1
- package/dist/rules/no-invalid-void-type.js +12 -12
- package/dist/rules/no-invalid-void-type.js.map +1 -1
- package/dist/rules/no-loop-func.js +2 -2
- package/dist/rules/no-loop-func.js.map +1 -1
- package/dist/rules/no-loss-of-precision.js +1 -1
- package/dist/rules/no-loss-of-precision.js.map +1 -1
- package/dist/rules/no-magic-numbers.js +11 -11
- package/dist/rules/no-magic-numbers.js.map +1 -1
- package/dist/rules/no-meaningless-void-operator.js +2 -2
- package/dist/rules/no-meaningless-void-operator.js.map +1 -1
- package/dist/rules/no-misused-new.js +11 -11
- package/dist/rules/no-misused-new.js.map +1 -1
- package/dist/rules/no-misused-promises.js +29 -29
- package/dist/rules/no-misused-promises.js.map +1 -1
- package/dist/rules/no-mixed-enums.js +2 -2
- package/dist/rules/no-mixed-enums.js.map +1 -1
- package/dist/rules/no-namespace.js +3 -3
- package/dist/rules/no-namespace.js.map +1 -1
- package/dist/rules/no-non-null-asserted-nullish-coalescing.js +1 -1
- package/dist/rules/no-non-null-asserted-nullish-coalescing.js.map +1 -1
- package/dist/rules/no-non-null-assertion.js.map +1 -1
- package/dist/rules/no-redeclare.js +23 -23
- package/dist/rules/no-redeclare.js.map +1 -1
- package/dist/rules/no-redundant-type-constituents.js +20 -20
- package/dist/rules/no-redundant-type-constituents.js.map +1 -1
- package/dist/rules/no-require-imports.js +5 -5
- package/dist/rules/no-require-imports.js.map +1 -1
- package/dist/rules/no-restricted-imports.js +20 -20
- package/dist/rules/no-restricted-imports.js.map +1 -1
- package/dist/rules/no-restricted-types.js +9 -9
- package/dist/rules/no-restricted-types.js.map +1 -1
- package/dist/rules/no-shadow.js +27 -27
- package/dist/rules/no-shadow.js.map +1 -1
- package/dist/rules/no-this-alias.js +6 -6
- package/dist/rules/no-this-alias.js.map +1 -1
- package/dist/rules/no-type-alias.js +16 -16
- package/dist/rules/no-type-alias.js.map +1 -1
- package/dist/rules/no-unnecessary-boolean-literal-compare.js +29 -29
- package/dist/rules/no-unnecessary-boolean-literal-compare.js.map +1 -1
- package/dist/rules/no-unnecessary-condition.js +27 -27
- package/dist/rules/no-unnecessary-condition.js.map +1 -1
- package/dist/rules/no-unnecessary-parameter-property-assignment.js +18 -18
- package/dist/rules/no-unnecessary-parameter-property-assignment.js.map +1 -1
- package/dist/rules/no-unnecessary-qualifier.js +13 -13
- package/dist/rules/no-unnecessary-qualifier.js.map +1 -1
- package/dist/rules/no-unnecessary-template-expression.js +3 -3
- package/dist/rules/no-unnecessary-template-expression.js.map +1 -1
- package/dist/rules/no-unnecessary-type-arguments.js +1 -1
- package/dist/rules/no-unnecessary-type-arguments.js.map +1 -1
- package/dist/rules/no-unnecessary-type-assertion.js +44 -44
- package/dist/rules/no-unnecessary-type-assertion.js.map +1 -1
- package/dist/rules/no-unnecessary-type-constraint.js +6 -6
- package/dist/rules/no-unnecessary-type-constraint.js.map +1 -1
- package/dist/rules/no-unnecessary-type-parameters.js +7 -7
- package/dist/rules/no-unnecessary-type-parameters.js.map +1 -1
- package/dist/rules/no-unsafe-argument.js +16 -16
- package/dist/rules/no-unsafe-argument.js.map +1 -1
- package/dist/rules/no-unsafe-assignment.js +12 -12
- package/dist/rules/no-unsafe-assignment.js.map +1 -1
- package/dist/rules/no-unsafe-call.js.map +1 -1
- package/dist/rules/no-unsafe-declaration-merging.js.map +1 -1
- package/dist/rules/no-unsafe-enum-comparison.js +3 -3
- package/dist/rules/no-unsafe-enum-comparison.js.map +1 -1
- package/dist/rules/no-unsafe-function-type.js.map +1 -1
- package/dist/rules/no-unsafe-member-access.js +3 -3
- package/dist/rules/no-unsafe-member-access.js.map +1 -1
- package/dist/rules/no-unsafe-return.js +4 -4
- package/dist/rules/no-unsafe-return.js.map +1 -1
- package/dist/rules/no-unsafe-unary-minus.js +1 -1
- package/dist/rules/no-unsafe-unary-minus.js.map +1 -1
- package/dist/rules/no-unused-expressions.js +2 -2
- package/dist/rules/no-unused-expressions.js.map +1 -1
- package/dist/rules/no-unused-vars.js +35 -35
- package/dist/rules/no-unused-vars.js.map +1 -1
- package/dist/rules/no-use-before-define.js +20 -20
- package/dist/rules/no-use-before-define.js.map +1 -1
- package/dist/rules/no-useless-constructor.js +2 -2
- package/dist/rules/no-useless-constructor.js.map +1 -1
- package/dist/rules/no-useless-empty-export.js +3 -3
- package/dist/rules/no-useless-empty-export.js.map +1 -1
- package/dist/rules/no-var-requires.js +4 -4
- package/dist/rules/no-var-requires.js.map +1 -1
- package/dist/rules/no-wrapper-object-types.js +3 -3
- package/dist/rules/no-wrapper-object-types.js.map +1 -1
- package/dist/rules/non-nullable-type-assertion-style.js +3 -3
- package/dist/rules/non-nullable-type-assertion-style.js.map +1 -1
- package/dist/rules/only-throw-error.js +8 -8
- package/dist/rules/only-throw-error.js.map +1 -1
- package/dist/rules/parameter-properties.js +9 -9
- package/dist/rules/parameter-properties.js.map +1 -1
- package/dist/rules/prefer-as-const.js +5 -5
- package/dist/rules/prefer-as-const.js.map +1 -1
- package/dist/rules/prefer-destructuring.js +13 -13
- package/dist/rules/prefer-destructuring.js.map +1 -1
- package/dist/rules/prefer-find.js +3 -3
- package/dist/rules/prefer-find.js.map +1 -1
- package/dist/rules/prefer-for-of.js.map +1 -1
- package/dist/rules/prefer-function-type.js +2 -2
- package/dist/rules/prefer-function-type.js.map +1 -1
- package/dist/rules/prefer-includes.js +6 -6
- package/dist/rules/prefer-includes.js.map +1 -1
- package/dist/rules/prefer-literal-enum-member.js +4 -4
- package/dist/rules/prefer-literal-enum-member.js.map +1 -1
- package/dist/rules/prefer-nullish-coalescing.js +9 -9
- package/dist/rules/prefer-nullish-coalescing.js.map +1 -1
- package/dist/rules/prefer-optional-chain-utils/analyzeChain.js +4 -4
- package/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map +1 -1
- package/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js.map +1 -1
- package/dist/rules/prefer-optional-chain-utils/compareNodes.js.map +1 -1
- package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js +9 -9
- package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map +1 -1
- package/dist/rules/prefer-optional-chain.js +42 -42
- package/dist/rules/prefer-optional-chain.js.map +1 -1
- package/dist/rules/prefer-promise-reject-errors.js +6 -6
- package/dist/rules/prefer-promise-reject-errors.js.map +1 -1
- package/dist/rules/prefer-readonly-parameter-types.js +6 -6
- package/dist/rules/prefer-readonly-parameter-types.js.map +1 -1
- package/dist/rules/prefer-readonly.js +60 -60
- package/dist/rules/prefer-readonly.js.map +1 -1
- package/dist/rules/prefer-reduce-type-parameter.js +2 -2
- package/dist/rules/prefer-reduce-type-parameter.js.map +1 -1
- package/dist/rules/prefer-regexp-exec.js +5 -5
- package/dist/rules/prefer-regexp-exec.js.map +1 -1
- package/dist/rules/prefer-return-this-type.js +2 -2
- package/dist/rules/prefer-return-this-type.js.map +1 -1
- package/dist/rules/prefer-string-starts-ends-with.js +6 -6
- package/dist/rules/prefer-string-starts-ends-with.js.map +1 -1
- package/dist/rules/prefer-ts-expect-error.js +1 -1
- package/dist/rules/prefer-ts-expect-error.js.map +1 -1
- package/dist/rules/promise-function-async.js +12 -12
- package/dist/rules/promise-function-async.js.map +1 -1
- package/dist/rules/require-array-sort-compare.js +6 -6
- package/dist/rules/require-array-sort-compare.js.map +1 -1
- package/dist/rules/require-await.js +12 -12
- package/dist/rules/require-await.js.map +1 -1
- package/dist/rules/restrict-plus-operands.js +17 -17
- package/dist/rules/restrict-plus-operands.js.map +1 -1
- package/dist/rules/restrict-template-expressions.js +4 -4
- package/dist/rules/restrict-template-expressions.js.map +1 -1
- package/dist/rules/return-await.js +31 -31
- package/dist/rules/return-await.js.map +1 -1
- package/dist/rules/sort-type-constituents.js +16 -16
- package/dist/rules/sort-type-constituents.js.map +1 -1
- package/dist/rules/strict-boolean-expressions.js +101 -101
- package/dist/rules/strict-boolean-expressions.js.map +1 -1
- package/dist/rules/switch-exhaustiveness-check.js +14 -14
- package/dist/rules/switch-exhaustiveness-check.js.map +1 -1
- package/dist/rules/triple-slash-reference.js +12 -12
- package/dist/rules/triple-slash-reference.js.map +1 -1
- package/dist/rules/typedef.js +9 -9
- package/dist/rules/typedef.js.map +1 -1
- package/dist/rules/unbound-method.js +6 -6
- package/dist/rules/unbound-method.js.map +1 -1
- package/dist/rules/unified-signatures.js +22 -22
- package/dist/rules/unified-signatures.js.map +1 -1
- package/dist/rules/use-unknown-in-catch-callback-variable.js +10 -10
- package/dist/rules/use-unknown-in-catch-callback-variable.js.map +1 -1
- package/dist/util/assertionFunctionUtils.js +4 -4
- package/dist/util/assertionFunctionUtils.js.map +1 -1
- package/dist/util/astUtils.js +2 -2
- package/dist/util/astUtils.js.map +1 -1
- package/dist/util/collectUnusedVariables.js +83 -83
- package/dist/util/collectUnusedVariables.js.map +1 -1
- package/dist/util/explicitReturnTypeUtils.js +1 -1
- package/dist/util/explicitReturnTypeUtils.js.map +1 -1
- package/dist/util/getFixOrSuggest.js +1 -1
- package/dist/util/getFixOrSuggest.js.map +1 -1
- package/dist/util/getForStatementHeadLoc.js +1 -1
- package/dist/util/getForStatementHeadLoc.js.map +1 -1
- package/dist/util/getFunctionHeadLoc.js +1 -1
- package/dist/util/getFunctionHeadLoc.js.map +1 -1
- package/dist/util/getMemberHeadLoc.js +2 -2
- package/dist/util/getMemberHeadLoc.js.map +1 -1
- package/dist/util/getOperatorPrecedence.js +60 -60
- package/dist/util/getOperatorPrecedence.js.map +1 -1
- package/dist/util/getStaticStringValue.js.map +1 -1
- package/dist/util/getThisExpression.js.map +1 -1
- package/dist/util/getWrappingFixer.js +2 -2
- package/dist/util/getWrappingFixer.js.map +1 -1
- package/dist/util/index.js +6 -6
- package/dist/util/index.js.map +1 -1
- package/dist/util/isArrayMethodCallWithPredicate.js.map +1 -1
- package/dist/util/isAssignee.js.map +1 -1
- package/dist/util/isNodeEqual.js.map +1 -1
- package/dist/util/isNullLiteral.js.map +1 -1
- package/dist/util/isStartOfExpressionStatement.js.map +1 -1
- package/dist/util/isTypeImport.js.map +1 -1
- package/dist/util/isUndefinedIdentifier.js.map +1 -1
- package/dist/util/misc.js +8 -11
- package/dist/util/misc.js.map +1 -1
- package/dist/util/needsPrecedingSemiColon.js.map +1 -1
- package/dist/util/rangeToLoc.js +1 -1
- package/dist/util/rangeToLoc.js.map +1 -1
- package/dist/util/referenceContainsTypeQuery.js.map +1 -1
- package/package.json +7 -7
@@ -30,47 +30,47 @@ exports.default = (0, util_1.createRule)({
|
|
30
30
|
name: 'promise-function-async',
|
31
31
|
meta: {
|
32
32
|
type: 'suggestion',
|
33
|
-
fixable: 'code',
|
34
33
|
docs: {
|
35
34
|
description: 'Require any function or method that returns a Promise to be marked async',
|
36
35
|
requiresTypeChecking: true,
|
37
36
|
},
|
37
|
+
fixable: 'code',
|
38
38
|
messages: {
|
39
39
|
missingAsync: 'Functions that return promises must be async.',
|
40
40
|
},
|
41
41
|
schema: [
|
42
42
|
{
|
43
43
|
type: 'object',
|
44
|
+
additionalProperties: false,
|
44
45
|
properties: {
|
45
46
|
allowAny: {
|
46
|
-
description: 'Whether to consider `any` and `unknown` to be Promises.',
|
47
47
|
type: 'boolean',
|
48
|
+
description: 'Whether to consider `any` and `unknown` to be Promises.',
|
48
49
|
},
|
49
50
|
allowedPromiseNames: {
|
50
|
-
description: 'Any extra names of classes or interfaces to be considered Promises.',
|
51
51
|
type: 'array',
|
52
|
+
description: 'Any extra names of classes or interfaces to be considered Promises.',
|
52
53
|
items: {
|
53
54
|
type: 'string',
|
54
55
|
},
|
55
56
|
},
|
56
57
|
checkArrowFunctions: {
|
57
|
-
description: 'Whether to check arrow functions.',
|
58
58
|
type: 'boolean',
|
59
|
+
description: 'Whether to check arrow functions.',
|
59
60
|
},
|
60
61
|
checkFunctionDeclarations: {
|
61
|
-
description: 'Whether to check standalone function declarations.',
|
62
62
|
type: 'boolean',
|
63
|
+
description: 'Whether to check standalone function declarations.',
|
63
64
|
},
|
64
65
|
checkFunctionExpressions: {
|
65
|
-
description: 'Whether to check inline function expressions',
|
66
66
|
type: 'boolean',
|
67
|
+
description: 'Whether to check inline function expressions',
|
67
68
|
},
|
68
69
|
checkMethodDeclarations: {
|
69
|
-
description: 'Whether to check methods on classes and object literals.',
|
70
70
|
type: 'boolean',
|
71
|
+
description: 'Whether to check methods on classes and object literals.',
|
71
72
|
},
|
72
73
|
},
|
73
|
-
additionalProperties: false,
|
74
74
|
},
|
75
75
|
],
|
76
76
|
},
|
@@ -120,15 +120,15 @@ exports.default = (0, util_1.createRule)({
|
|
120
120
|
if ((0, util_1.isTypeFlagSet)(returnType, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) {
|
121
121
|
// Report without auto fixer because the return type is unknown
|
122
122
|
return context.report({
|
123
|
-
messageId: 'missingAsync',
|
124
|
-
node,
|
125
123
|
loc: (0, util_1.getFunctionHeadLoc)(node, context.sourceCode),
|
124
|
+
node,
|
125
|
+
messageId: 'missingAsync',
|
126
126
|
});
|
127
127
|
}
|
128
128
|
context.report({
|
129
|
-
messageId: 'missingAsync',
|
130
|
-
node,
|
131
129
|
loc: (0, util_1.getFunctionHeadLoc)(node, context.sourceCode),
|
130
|
+
node,
|
131
|
+
messageId: 'missingAsync',
|
132
132
|
fix: fixer => {
|
133
133
|
if (node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition ||
|
134
134
|
(node.parent.type === utils_1.AST_NODE_TYPES.Property && node.parent.method)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"promise-function-async.js","sourceRoot":"","sources":["../../src/rules/promise-function-async.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"promise-function-async.js","sourceRoot":"","sources":["../../src/rules/promise-function-async.ts"],"names":[],"mappings":"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"}
|
@@ -3,11 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const util_1 = require("../util");
|
4
4
|
exports.default = (0, util_1.createRule)({
|
5
5
|
name: 'require-array-sort-compare',
|
6
|
-
defaultOptions: [
|
7
|
-
{
|
8
|
-
ignoreStringArrays: true,
|
9
|
-
},
|
10
|
-
],
|
11
6
|
meta: {
|
12
7
|
type: 'problem',
|
13
8
|
docs: {
|
@@ -23,13 +18,18 @@ exports.default = (0, util_1.createRule)({
|
|
23
18
|
additionalProperties: false,
|
24
19
|
properties: {
|
25
20
|
ignoreStringArrays: {
|
26
|
-
description: 'Whether to ignore arrays in which all elements are strings.',
|
27
21
|
type: 'boolean',
|
22
|
+
description: 'Whether to ignore arrays in which all elements are strings.',
|
28
23
|
},
|
29
24
|
},
|
30
25
|
},
|
31
26
|
],
|
32
27
|
},
|
28
|
+
defaultOptions: [
|
29
|
+
{
|
30
|
+
ignoreStringArrays: true,
|
31
|
+
},
|
32
|
+
],
|
33
33
|
create(context, [options]) {
|
34
34
|
const services = (0, util_1.getParserServices)(context);
|
35
35
|
const checker = services.program.getTypeChecker();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"require-array-sort-compare.js","sourceRoot":"","sources":["../../src/rules/require-array-sort-compare.ts"],"names":[],"mappings":";;AAEA,kCAOiB;AASjB,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,4BAA4B;IAClC,
|
1
|
+
{"version":3,"file":"require-array-sort-compare.js","sourceRoot":"","sources":["../../src/rules/require-array-sort-compare.ts"],"names":[],"mappings":";;AAEA,kCAOiB;AASjB,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,uFAAuF;YACzF,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,cAAc,EAAE,6BAA6B;SAC9C;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,kBAAkB,EAAE;wBAClB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,6DAA6D;qBAChE;iBACF;aACF;SACF;KACF;IAED,cAAc,EAAE;QACd;YACE,kBAAkB,EAAE,IAAI;SACzB;KACF;IAED,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD;;WAEG;QACH,SAAS,iBAAiB,CAAC,IAAyB;YAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,kBAAW,EAAC,OAAO,EAAE,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,iBAAiB,CAAC,MAAiC;YAC1D,IAAI,CAAC,IAAA,kCAA2B,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;gBACtE,OAAO;YACT,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,mCAA4B,EAChD,QAAQ,EACR,MAAM,CAAC,MAAM,CACd,CAAC;YAEF,IAAI,OAAO,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,IAAI,IAAA,yCAAkC,EAAC,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO;YACL,uDAAuD,EACrD,iBAAiB;SACpB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
@@ -32,16 +32,16 @@ exports.default = (0, util_1.createRule)({
|
|
32
32
|
type: 'suggestion',
|
33
33
|
docs: {
|
34
34
|
description: 'Disallow async functions which do not return promises and have no `await` expression',
|
35
|
+
extendsBaseRule: true,
|
35
36
|
recommended: 'recommended',
|
36
37
|
requiresTypeChecking: true,
|
37
|
-
extendsBaseRule: true,
|
38
38
|
},
|
39
|
-
|
39
|
+
hasSuggestions: true,
|
40
40
|
messages: {
|
41
41
|
missingAwait: "{{name}} has no 'await' expression.",
|
42
42
|
removeAsync: "Remove 'async'.",
|
43
43
|
},
|
44
|
-
|
44
|
+
schema: [],
|
45
45
|
},
|
46
46
|
defaultOptions: [],
|
47
47
|
create(context) {
|
@@ -53,11 +53,11 @@ exports.default = (0, util_1.createRule)({
|
|
53
53
|
*/
|
54
54
|
function enterFunction(node) {
|
55
55
|
scopeInfo = {
|
56
|
-
upper: scopeInfo,
|
57
|
-
hasAwait: false,
|
58
56
|
hasAsync: node.async,
|
59
|
-
|
57
|
+
hasAwait: false,
|
60
58
|
isAsyncYield: false,
|
59
|
+
isGen: node.generator || false,
|
60
|
+
upper: scopeInfo,
|
61
61
|
};
|
62
62
|
}
|
63
63
|
/**
|
@@ -140,8 +140,8 @@ exports.default = (0, util_1.createRule)({
|
|
140
140
|
}
|
141
141
|
}
|
142
142
|
context.report({
|
143
|
-
node,
|
144
143
|
loc: (0, util_1.getFunctionHeadLoc)(node, context.sourceCode),
|
144
|
+
node,
|
145
145
|
messageId: 'missingAwait',
|
146
146
|
data: {
|
147
147
|
name: (0, util_1.upperCaseFirst)((0, util_1.getFunctionNameWithKind)(node)),
|
@@ -206,15 +206,15 @@ exports.default = (0, util_1.createRule)({
|
|
206
206
|
}
|
207
207
|
}
|
208
208
|
return {
|
209
|
-
FunctionDeclaration: enterFunction,
|
210
|
-
FunctionExpression: enterFunction,
|
211
209
|
ArrowFunctionExpression: enterFunction,
|
212
|
-
'FunctionDeclaration:exit': exitFunction,
|
213
|
-
'FunctionExpression:exit': exitFunction,
|
214
210
|
'ArrowFunctionExpression:exit': exitFunction,
|
215
211
|
AwaitExpression: markAsHasAwait,
|
216
|
-
'VariableDeclaration[kind = "await using"]': markAsHasAwait,
|
217
212
|
'ForOfStatement[await = true]': markAsHasAwait,
|
213
|
+
FunctionDeclaration: enterFunction,
|
214
|
+
'FunctionDeclaration:exit': exitFunction,
|
215
|
+
FunctionExpression: enterFunction,
|
216
|
+
'FunctionExpression:exit': exitFunction,
|
217
|
+
'VariableDeclaration[kind = "await using"]': markAsHasAwait,
|
218
218
|
YieldExpression: visitYieldExpression,
|
219
219
|
// check body-less async arrow function.
|
220
220
|
// ignore `async () => await foo` because it's obviously correct
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"require-await.js","sourceRoot":"","sources":["../../src/rules/require-await.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"require-await.js","sourceRoot":"","sources":["../../src/rules/require-await.ts"],"names":[],"mappings":"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"}
|
@@ -57,28 +57,28 @@ exports.default = (0, util_1.createRule)({
|
|
57
57
|
additionalProperties: false,
|
58
58
|
properties: {
|
59
59
|
allowAny: {
|
60
|
-
description: 'Whether to allow `any` typed values.',
|
61
60
|
type: 'boolean',
|
61
|
+
description: 'Whether to allow `any` typed values.',
|
62
62
|
},
|
63
63
|
allowBoolean: {
|
64
|
-
description: 'Whether to allow `boolean` typed values.',
|
65
64
|
type: 'boolean',
|
65
|
+
description: 'Whether to allow `boolean` typed values.',
|
66
66
|
},
|
67
67
|
allowNullish: {
|
68
|
-
description: 'Whether to allow potentially `null` or `undefined` typed values.',
|
69
68
|
type: 'boolean',
|
69
|
+
description: 'Whether to allow potentially `null` or `undefined` typed values.',
|
70
70
|
},
|
71
71
|
allowNumberAndString: {
|
72
|
-
description: 'Whether to allow `bigint`/`number` typed values and `string` typed values to be added together.',
|
73
72
|
type: 'boolean',
|
73
|
+
description: 'Whether to allow `bigint`/`number` typed values and `string` typed values to be added together.',
|
74
74
|
},
|
75
75
|
allowRegExp: {
|
76
|
-
description: 'Whether to allow `regexp` typed values.',
|
77
76
|
type: 'boolean',
|
77
|
+
description: 'Whether to allow `regexp` typed values.',
|
78
78
|
},
|
79
79
|
skipCompoundAssignments: {
|
80
|
-
description: 'Whether to skip compound assignments such as `+=`.',
|
81
80
|
type: 'boolean',
|
81
|
+
description: 'Whether to skip compound assignments such as `+=`.',
|
82
82
|
},
|
83
83
|
},
|
84
84
|
},
|
@@ -135,12 +135,12 @@ exports.default = (0, util_1.createRule)({
|
|
135
135
|
(!allowNullish &&
|
136
136
|
(0, util_1.isTypeFlagSet)(baseType, ts.TypeFlags.Null | ts.TypeFlags.Undefined))) {
|
137
137
|
context.report({
|
138
|
+
node: baseNode,
|
139
|
+
messageId: 'invalid',
|
138
140
|
data: {
|
139
|
-
stringLike,
|
140
141
|
type: typeChecker.typeToString(baseType),
|
142
|
+
stringLike,
|
141
143
|
},
|
142
|
-
messageId: 'invalid',
|
143
|
-
node: baseNode,
|
144
144
|
});
|
145
145
|
hadIndividualComplaint = true;
|
146
146
|
continue;
|
@@ -154,12 +154,12 @@ exports.default = (0, util_1.createRule)({
|
|
154
154
|
: (!allowAny && (0, util_1.isTypeAnyType)(subBaseType)) ||
|
155
155
|
isDeeplyObjectType(subBaseType)) {
|
156
156
|
context.report({
|
157
|
+
node: baseNode,
|
158
|
+
messageId: 'invalid',
|
157
159
|
data: {
|
158
|
-
stringLike,
|
159
160
|
type: typeChecker.typeToString(subBaseType),
|
161
|
+
stringLike,
|
160
162
|
},
|
161
|
-
messageId: 'invalid',
|
162
|
-
node: baseNode,
|
163
163
|
});
|
164
164
|
hadIndividualComplaint = true;
|
165
165
|
continue;
|
@@ -177,24 +177,24 @@ exports.default = (0, util_1.createRule)({
|
|
177
177
|
isTypeFlagSetInUnion(baseType, ts.TypeFlags.StringLike) &&
|
178
178
|
isTypeFlagSetInUnion(otherType, ts.TypeFlags.NumberLike)) {
|
179
179
|
return context.report({
|
180
|
+
node,
|
181
|
+
messageId: 'mismatched',
|
180
182
|
data: {
|
181
|
-
stringLike,
|
182
183
|
left: typeChecker.typeToString(leftType),
|
183
184
|
right: typeChecker.typeToString(rightType),
|
185
|
+
stringLike,
|
184
186
|
},
|
185
|
-
messageId: 'mismatched',
|
186
|
-
node,
|
187
187
|
});
|
188
188
|
}
|
189
189
|
if (isTypeFlagSetInUnion(baseType, ts.TypeFlags.NumberLike) &&
|
190
190
|
isTypeFlagSetInUnion(otherType, ts.TypeFlags.BigIntLike)) {
|
191
191
|
return context.report({
|
192
|
+
node,
|
193
|
+
messageId: 'bigintAndNumber',
|
192
194
|
data: {
|
193
195
|
left: typeChecker.typeToString(leftType),
|
194
196
|
right: typeChecker.typeToString(rightType),
|
195
197
|
},
|
196
|
-
messageId: 'bigintAndNumber',
|
197
|
-
node,
|
198
198
|
});
|
199
199
|
}
|
200
200
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"restrict-plus-operands.js","sourceRoot":"","sources":["../../src/rules/restrict-plus-operands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"restrict-plus-operands.js","sourceRoot":"","sources":["../../src/rules/restrict-plus-operands.ts"],"names":[],"mappings":"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"}
|
@@ -39,10 +39,10 @@ exports.default = (0, util_1.createRule)({
|
|
39
39
|
{
|
40
40
|
allowAny: false,
|
41
41
|
allowBoolean: false,
|
42
|
+
allowNever: false,
|
42
43
|
allowNullish: false,
|
43
44
|
allowNumber: false,
|
44
45
|
allowRegExp: false,
|
45
|
-
allowNever: false,
|
46
46
|
},
|
47
47
|
],
|
48
48
|
},
|
@@ -56,11 +56,11 @@ exports.default = (0, util_1.createRule)({
|
|
56
56
|
type: 'object',
|
57
57
|
additionalProperties: false,
|
58
58
|
properties: {
|
59
|
-
...Object.fromEntries(optionTesters.map(({
|
59
|
+
...Object.fromEntries(optionTesters.map(({ type, option }) => [
|
60
60
|
option,
|
61
61
|
{
|
62
|
-
description: `Whether to allow \`${type.toLowerCase()}\` typed values in template expressions.`,
|
63
62
|
type: 'boolean',
|
63
|
+
description: `Whether to allow \`${type.toLowerCase()}\` typed values in template expressions.`,
|
64
64
|
},
|
65
65
|
])),
|
66
66
|
allow: {
|
@@ -73,12 +73,12 @@ exports.default = (0, util_1.createRule)({
|
|
73
73
|
},
|
74
74
|
defaultOptions: [
|
75
75
|
{
|
76
|
+
allow: [{ name: ['Error', 'URL', 'URLSearchParams'], from: 'lib' }],
|
76
77
|
allowAny: true,
|
77
78
|
allowBoolean: true,
|
78
79
|
allowNullish: true,
|
79
80
|
allowNumber: true,
|
80
81
|
allowRegExp: true,
|
81
|
-
allow: [{ from: 'lib', name: ['Error', 'URL', 'URLSearchParams'] }],
|
82
82
|
},
|
83
83
|
],
|
84
84
|
create(context, [{ allow, ...options }]) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"restrict-template-expressions.js","sourceRoot":"","sources":["../../src/rules/restrict-template-expressions.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"restrict-template-expressions.js","sourceRoot":"","sources":["../../src/rules/restrict-template-expressions.ts"],"names":[],"mappings":"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"}
|
@@ -31,23 +31,23 @@ const getOperatorPrecedence_1 = require("../util/getOperatorPrecedence");
|
|
31
31
|
exports.default = (0, util_1.createRule)({
|
32
32
|
name: 'return-await',
|
33
33
|
meta: {
|
34
|
+
type: 'problem',
|
34
35
|
docs: {
|
35
36
|
description: 'Enforce consistent awaiting of returned promises',
|
36
|
-
requiresTypeChecking: true,
|
37
37
|
extendsBaseRule: 'no-return-await',
|
38
38
|
recommended: {
|
39
39
|
strict: ['error-handling-correctness-only'],
|
40
40
|
},
|
41
|
+
requiresTypeChecking: true,
|
41
42
|
},
|
42
43
|
fixable: 'code',
|
43
44
|
hasSuggestions: true,
|
44
|
-
type: 'problem',
|
45
45
|
messages: {
|
46
|
-
nonPromiseAwait: 'Returning an awaited value that is not a promise is not allowed.',
|
47
46
|
disallowedPromiseAwait: 'Returning an awaited promise is not allowed in this context.',
|
47
|
+
disallowedPromiseAwaitSuggestion: 'Remove `await` before the expression. Use caution as this may impact control flow.',
|
48
|
+
nonPromiseAwait: 'Returning an awaited value that is not a promise is not allowed.',
|
48
49
|
requiredPromiseAwait: 'Returning an awaited promise is required in this context.',
|
49
50
|
requiredPromiseAwaitSuggestion: 'Add `await` before the expression. Use caution as this may impact control flow.',
|
50
|
-
disallowedPromiseAwaitSuggestion: 'Remove `await` before the expression. Use caution as this may impact control flow.',
|
51
51
|
},
|
52
52
|
schema: [
|
53
53
|
{
|
@@ -55,23 +55,23 @@ exports.default = (0, util_1.createRule)({
|
|
55
55
|
oneOf: [
|
56
56
|
{
|
57
57
|
type: 'string',
|
58
|
-
enum: ['always'],
|
59
58
|
description: 'Requires that all returned promises be awaited.',
|
59
|
+
enum: ['always'],
|
60
60
|
},
|
61
61
|
{
|
62
62
|
type: 'string',
|
63
|
-
enum: ['error-handling-correctness-only'],
|
64
63
|
description: 'In error-handling contexts, the rule enforces that returned promises must be awaited. In ordinary contexts, the rule does not enforce any particular behavior around whether returned promises are awaited.',
|
64
|
+
enum: ['error-handling-correctness-only'],
|
65
65
|
},
|
66
66
|
{
|
67
67
|
type: 'string',
|
68
|
-
enum: ['in-try-catch'],
|
69
68
|
description: 'In error-handling contexts, the rule enforces that returned promises must be awaited. In ordinary contexts, the rule enforces that returned promises _must not_ be awaited.',
|
69
|
+
enum: ['in-try-catch'],
|
70
70
|
},
|
71
71
|
{
|
72
72
|
type: 'string',
|
73
|
-
enum: ['never'],
|
74
73
|
description: 'Disallows awaiting any returned promises.',
|
74
|
+
enum: ['never'],
|
75
75
|
},
|
76
76
|
],
|
77
77
|
},
|
@@ -108,7 +108,7 @@ exports.default = (0, util_1.createRule)({
|
|
108
108
|
const declarationNode = declaratorNode.parent;
|
109
109
|
// if it's a using/await using declaration, and it comes _before_ the
|
110
110
|
// node we're checking, it affects control flow for that node.
|
111
|
-
if (['using', '
|
111
|
+
if (['await using', 'using'].includes(declarationNode.kind) &&
|
112
112
|
declaratorNode.range[1] < node.range[0]) {
|
113
113
|
return true;
|
114
114
|
}
|
@@ -140,12 +140,8 @@ exports.default = (0, util_1.createRule)({
|
|
140
140
|
if (tryAncestorResult == null) {
|
141
141
|
return false;
|
142
142
|
}
|
143
|
-
const {
|
143
|
+
const { block, tryStatement } = tryAncestorResult;
|
144
144
|
switch (block) {
|
145
|
-
case 'try':
|
146
|
-
// Try blocks are always followed by either a catch or finally,
|
147
|
-
// so exceptions thrown here always affect control flow.
|
148
|
-
return true;
|
149
145
|
case 'catch':
|
150
146
|
// Exceptions thrown in catch blocks followed by a finally block affect
|
151
147
|
// control flow.
|
@@ -156,6 +152,10 @@ exports.default = (0, util_1.createRule)({
|
|
156
152
|
return affectsExplicitErrorHandling(tryStatement);
|
157
153
|
case 'finally':
|
158
154
|
return affectsExplicitErrorHandling(tryStatement);
|
155
|
+
case 'try':
|
156
|
+
// Try blocks are always followed by either a catch or finally,
|
157
|
+
// so exceptions thrown here always affect control flow.
|
158
|
+
return true;
|
159
159
|
default: {
|
160
160
|
const __never = block;
|
161
161
|
throw new Error(`Unexpected block type: ${String(__never)}`);
|
@@ -184,8 +184,8 @@ exports.default = (0, util_1.createRule)({
|
|
184
184
|
block = 'finally';
|
185
185
|
}
|
186
186
|
return {
|
187
|
-
tryStatement: ancestor,
|
188
187
|
block: (0, util_1.nullThrows)(block, 'Child of a try statement must be a try block, catch clause, or finally block'),
|
188
|
+
tryStatement: ancestor,
|
189
189
|
};
|
190
190
|
}
|
191
191
|
child = ancestor;
|
@@ -248,8 +248,8 @@ exports.default = (0, util_1.createRule)({
|
|
248
248
|
// any/unknown could be thenable; do not auto-fix
|
249
249
|
const useAutoFix = !((0, util_1.isTypeAnyType)(type) || (0, util_1.isTypeUnknownType)(type));
|
250
250
|
context.report({
|
251
|
-
messageId: 'nonPromiseAwait',
|
252
251
|
node,
|
252
|
+
messageId: 'nonPromiseAwait',
|
253
253
|
...fixOrSuggest(useAutoFix, {
|
254
254
|
messageId: 'nonPromiseAwait',
|
255
255
|
fix: fixer => removeAwait(fixer, node),
|
@@ -267,13 +267,11 @@ exports.default = (0, util_1.createRule)({
|
|
267
267
|
? ruleConfiguration.errorHandlingContext
|
268
268
|
: ruleConfiguration.ordinaryContext;
|
269
269
|
switch (shouldAwaitInCurrentContext) {
|
270
|
-
case "don't-care":
|
271
|
-
break;
|
272
270
|
case 'await':
|
273
271
|
if (!isAwait) {
|
274
272
|
context.report({
|
275
|
-
messageId: 'requiredPromiseAwait',
|
276
273
|
node,
|
274
|
+
messageId: 'requiredPromiseAwait',
|
277
275
|
...fixOrSuggest(useAutoFix, {
|
278
276
|
messageId: 'requiredPromiseAwaitSuggestion',
|
279
277
|
fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
|
@@ -281,11 +279,13 @@ exports.default = (0, util_1.createRule)({
|
|
281
279
|
});
|
282
280
|
}
|
283
281
|
break;
|
282
|
+
case "don't-care":
|
283
|
+
break;
|
284
284
|
case 'no-await':
|
285
285
|
if (isAwait) {
|
286
286
|
context.report({
|
287
|
-
messageId: 'disallowedPromiseAwait',
|
288
287
|
node,
|
288
|
+
messageId: 'disallowedPromiseAwait',
|
289
289
|
...fixOrSuggest(useAutoFix, {
|
290
290
|
messageId: 'disallowedPromiseAwaitSuggestion',
|
291
291
|
fix: fixer => removeAwait(fixer, node),
|
@@ -305,12 +305,12 @@ exports.default = (0, util_1.createRule)({
|
|
305
305
|
return [node];
|
306
306
|
}
|
307
307
|
return {
|
308
|
-
FunctionDeclaration: enterFunction,
|
309
|
-
FunctionExpression: enterFunction,
|
310
308
|
ArrowFunctionExpression: enterFunction,
|
309
|
+
'ArrowFunctionExpression:exit': exitFunction,
|
310
|
+
FunctionDeclaration: enterFunction,
|
311
311
|
'FunctionDeclaration:exit': exitFunction,
|
312
|
+
FunctionExpression: enterFunction,
|
312
313
|
'FunctionExpression:exit': exitFunction,
|
313
|
-
'ArrowFunctionExpression:exit': exitFunction,
|
314
314
|
// executes after less specific handler, so exitFunction is called
|
315
315
|
'ArrowFunctionExpression[async = true]:exit'(node) {
|
316
316
|
if (node.body.type !== utils_1.AST_NODE_TYPES.BlockStatement) {
|
@@ -337,23 +337,23 @@ function getConfiguration(option) {
|
|
337
337
|
switch (option) {
|
338
338
|
case 'always':
|
339
339
|
return {
|
340
|
-
ordinaryContext: 'await',
|
341
340
|
errorHandlingContext: 'await',
|
342
|
-
|
343
|
-
case 'never':
|
344
|
-
return {
|
345
|
-
ordinaryContext: 'no-await',
|
346
|
-
errorHandlingContext: 'no-await',
|
341
|
+
ordinaryContext: 'await',
|
347
342
|
};
|
348
343
|
case 'error-handling-correctness-only':
|
349
344
|
return {
|
350
|
-
ordinaryContext: "don't-care",
|
351
345
|
errorHandlingContext: 'await',
|
346
|
+
ordinaryContext: "don't-care",
|
352
347
|
};
|
353
348
|
case 'in-try-catch':
|
354
349
|
return {
|
355
|
-
ordinaryContext: 'no-await',
|
356
350
|
errorHandlingContext: 'await',
|
351
|
+
ordinaryContext: 'no-await',
|
352
|
+
};
|
353
|
+
case 'never':
|
354
|
+
return {
|
355
|
+
errorHandlingContext: 'no-await',
|
356
|
+
ordinaryContext: 'no-await',
|
357
357
|
};
|
358
358
|
}
|
359
359
|
}
|