@typescript-eslint/eslint-plugin 7.16.2-alpha.1 → 7.16.2-alpha.10

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.
@@ -103,6 +103,7 @@ module.exports = {
103
103
  '@typescript-eslint/no-unsafe-call': 'error',
104
104
  '@typescript-eslint/no-unsafe-declaration-merging': 'error',
105
105
  '@typescript-eslint/no-unsafe-enum-comparison': 'error',
106
+ '@typescript-eslint/no-unsafe-function-type': 'error',
106
107
  '@typescript-eslint/no-unsafe-member-access': 'error',
107
108
  '@typescript-eslint/no-unsafe-return': 'error',
108
109
  '@typescript-eslint/no-unsafe-unary-minus': 'error',
@@ -116,6 +117,7 @@ module.exports = {
116
117
  '@typescript-eslint/no-useless-constructor': 'error',
117
118
  '@typescript-eslint/no-useless-empty-export': 'error',
118
119
  '@typescript-eslint/no-var-requires': 'error',
120
+ '@typescript-eslint/no-wrapper-object-types': 'error',
119
121
  '@typescript-eslint/non-nullable-type-assertion-style': 'error',
120
122
  'no-throw-literal': 'off',
121
123
  '@typescript-eslint/only-throw-error': 'error',
@@ -1 +1 @@
1
- {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,iDAAiD,EAAE,OAAO;QAC1D,+BAA+B,EAAE,OAAO;QACxC,mCAAmC,EAAE,OAAO;QAC5C,mCAAmC,EAAE,OAAO;QAC5C,uCAAuC,EAAE,OAAO;QAChD,8BAA8B,EAAE,OAAO;QACvC,iDAAiD,EAAE,OAAO;QAC1D,wBAAwB,EAAE,KAAK;QAC/B,2CAA2C,EAAE,OAAO;QACpD,oDAAoD,EAAE,OAAO;QAC7D,oDAAoD,EAAE,OAAO;QAC7D,mBAAmB,EAAE,KAAK;QAC1B,sCAAsC,EAAE,OAAO;QAC/C,+CAA+C,EAAE,OAAO;QACxD,gDAAgD,EAAE,OAAO;QACzD,4CAA4C,EAAE,OAAO;QACrD,4CAA4C,EAAE,OAAO;QACrD,oBAAoB,EAAE,KAAK;QAC3B,uCAAuC,EAAE,OAAO;QAChD,cAAc,EAAE,KAAK;QACrB,iCAAiC,EAAE,OAAO;QAC1C,kDAAkD,EAAE,OAAO;QAC3D,kDAAkD,EAAE,OAAO;QAC3D,mDAAmD,EAAE,OAAO;QAC5D,mBAAmB,EAAE,KAAK;QAC1B,sCAAsC,EAAE,OAAO;QAC/C,YAAY,EAAE,KAAK;QACnB,+BAA+B,EAAE,OAAO;QACxC,oCAAoC,EAAE,OAAO;QAC7C,2CAA2C,EAAE,OAAO;QACpD,sCAAsC,EAAE,OAAO;QAC/C,sBAAsB,EAAE,KAAK;QAC7B,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,sCAAsC,EAAE,OAAO;QAC/C,oDAAoD,EAAE,OAAO;QAC7D,iDAAiD,EAAE,OAAO;QAC1D,uBAAuB,EAAE,KAAK;QAC9B,0CAA0C,EAAE,OAAO;QACnD,6CAA6C,EAAE,OAAO;QACtD,mDAAmD,EAAE,OAAO;QAC5D,sCAAsC,EAAE,OAAO;QAC/C,mBAAmB,EAAE,KAAK;QAC1B,sCAAsC,EAAE,OAAO;QAC/C,uCAAuC,EAAE,OAAO;QAChD,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,gDAAgD,EAAE,OAAO;QACzD,wCAAwC,EAAE,OAAO;QACjD,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,iBAAiB,EAAE,KAAK;QACxB,oCAAoC,EAAE,OAAO;QAC7C,gDAAgD,EAAE,OAAO;QACzD,wCAAwC,EAAE,OAAO;QACjD,iBAAiB,EAAE,KAAK;QACxB,oCAAoC,EAAE,OAAO;QAC7C,yCAAyC,EAAE,OAAO;QAClD,cAAc,EAAE,KAAK;QACrB,iCAAiC,EAAE,OAAO;QAC1C,sBAAsB,EAAE,KAAK;QAC7B,yCAAyC,EAAE,OAAO;QAClD,kBAAkB,EAAE,KAAK;QACzB,qCAAqC,EAAE,OAAO;QAC9C,iDAAiD,EAAE,OAAO;QAC1D,mCAAmC,EAAE,OAAO;QAC5C,wCAAwC,EAAE,OAAO;QACjD,mCAAmC,EAAE,OAAO;QAC5C,iCAAiC,EAAE,OAAO;QAC1C,4DAA4D,EAAE,OAAO;QACrE,wDAAwD,EAAE,OAAO;QACjE,0CAA0C,EAAE,OAAO;QACnD,cAAc,EAAE,KAAK;QACrB,iCAAiC,EAAE,OAAO;QAC1C,mDAAmD,EAAE,OAAO;QAC5D,uCAAuC,EAAE,OAAO;QAChD,uBAAuB,EAAE,KAAK;QAC9B,0CAA0C,EAAE,OAAO;QACnD,WAAW,EAAE,KAAK;QAClB,8BAA8B,EAAE,OAAO;QACvC,kCAAkC,EAAE,OAAO;QAC3C,2DAA2D,EAAE,OAAO;QACpE,6CAA6C,EAAE,OAAO;QACtD,iEAAiE,EAAE,OAAO;QAC1E,6CAA6C,EAAE,OAAO;QACtD,uDAAuD,EAAE,OAAO;QAChE,kDAAkD,EAAE,OAAO;QAC3D,kDAAkD,EAAE,OAAO;QAC3D,mDAAmD,EAAE,OAAO;QAC5D,mDAAmD,EAAE,OAAO;QAC5D,uCAAuC,EAAE,OAAO;QAChD,yCAAyC,EAAE,OAAO;QAClD,mCAAmC,EAAE,OAAO;QAC5C,kDAAkD,EAAE,OAAO;QAC3D,8CAA8C,EAAE,OAAO;QACvD,4CAA4C,EAAE,OAAO;QACrD,qCAAqC,EAAE,OAAO;QAC9C,0CAA0C,EAAE,OAAO;QACnD,uBAAuB,EAAE,KAAK;QAC9B,0CAA0C,EAAE,OAAO;QACnD,gBAAgB,EAAE,KAAK;QACvB,mCAAmC,EAAE,OAAO;QAC5C,sBAAsB,EAAE,KAAK;QAC7B,yCAAyC,EAAE,OAAO;QAClD,wBAAwB,EAAE,KAAK;QAC/B,2CAA2C,EAAE,OAAO;QACpD,4CAA4C,EAAE,OAAO;QACrD,oCAAoC,EAAE,OAAO;QAC7C,sDAAsD,EAAE,OAAO;QAC/D,kBAAkB,EAAE,KAAK;QACzB,qCAAqC,EAAE,OAAO;QAC9C,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,sBAAsB,EAAE,KAAK;QAC7B,yCAAyC,EAAE,OAAO;QAClD,6CAA6C,EAAE,OAAO;QACtD,gCAAgC,EAAE,OAAO;QACzC,kCAAkC,EAAE,OAAO;QAC3C,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,+CAA+C,EAAE,OAAO;QACxD,6CAA6C,EAAE,OAAO;QACtD,8CAA8C,EAAE,OAAO;QACvD,0CAA0C,EAAE,OAAO;QACnD,8BAA8B,EAAE,KAAK;QACrC,iDAAiD,EAAE,OAAO;QAC1D,oCAAoC,EAAE,OAAO;QAC7C,oDAAoD,EAAE,OAAO;QAC7D,iDAAiD,EAAE,OAAO;QAC1D,uCAAuC,EAAE,OAAO;QAChD,4CAA4C,EAAE,OAAO;QACrD,mDAAmD,EAAE,OAAO;QAC5D,2CAA2C,EAAE,OAAO;QACpD,+CAA+C,EAAE,OAAO;QACxD,eAAe,EAAE,KAAK;QACtB,kCAAkC,EAAE,OAAO;QAC3C,2CAA2C,EAAE,OAAO;QACpD,kDAAkD,EAAE,OAAO;QAC3D,iBAAiB,EAAE,KAAK;QACxB,iCAAiC,EAAE,OAAO;QAC1C,+CAA+C,EAAE,OAAO;QACxD,gDAAgD,EAAE,OAAO;QACzD,2CAA2C,EAAE,OAAO;QACpD,4BAA4B,EAAE,OAAO;QACrC,mCAAmC,EAAE,OAAO;QAC5C,uCAAuC,EAAE,OAAO;QAChD,2DAA2D,EAAE,OAAO;KACrE;CAC6B,CAAC"}
1
+ {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,7 @@ const no_unsafe_assignment_1 = __importDefault(require("./no-unsafe-assignment")
96
96
  const no_unsafe_call_1 = __importDefault(require("./no-unsafe-call"));
97
97
  const no_unsafe_declaration_merging_1 = __importDefault(require("./no-unsafe-declaration-merging"));
98
98
  const no_unsafe_enum_comparison_1 = __importDefault(require("./no-unsafe-enum-comparison"));
99
+ const no_unsafe_function_type_1 = __importDefault(require("./no-unsafe-function-type"));
99
100
  const no_unsafe_member_access_1 = __importDefault(require("./no-unsafe-member-access"));
100
101
  const no_unsafe_return_1 = __importDefault(require("./no-unsafe-return"));
101
102
  const no_unsafe_unary_minus_1 = __importDefault(require("./no-unsafe-unary-minus"));
@@ -106,6 +107,7 @@ const no_useless_constructor_1 = __importDefault(require("./no-useless-construct
106
107
  const no_useless_empty_export_1 = __importDefault(require("./no-useless-empty-export"));
107
108
  const no_useless_template_literals_1 = __importDefault(require("./no-useless-template-literals"));
108
109
  const no_var_requires_1 = __importDefault(require("./no-var-requires"));
110
+ const no_wrapper_object_types_1 = __importDefault(require("./no-wrapper-object-types"));
109
111
  const non_nullable_type_assertion_style_1 = __importDefault(require("./non-nullable-type-assertion-style"));
110
112
  const object_curly_spacing_1 = __importDefault(require("./object-curly-spacing"));
111
113
  const only_throw_error_1 = __importDefault(require("./only-throw-error"));
@@ -244,6 +246,7 @@ exports.default = {
244
246
  'no-unsafe-call': no_unsafe_call_1.default,
245
247
  'no-unsafe-declaration-merging': no_unsafe_declaration_merging_1.default,
246
248
  'no-unsafe-enum-comparison': no_unsafe_enum_comparison_1.default,
249
+ 'no-unsafe-function-type': no_unsafe_function_type_1.default,
247
250
  'no-unsafe-member-access': no_unsafe_member_access_1.default,
248
251
  'no-unsafe-return': no_unsafe_return_1.default,
249
252
  'no-unsafe-unary-minus': no_unsafe_unary_minus_1.default,
@@ -254,6 +257,7 @@ exports.default = {
254
257
  'no-useless-empty-export': no_useless_empty_export_1.default,
255
258
  'no-useless-template-literals': no_useless_template_literals_1.default,
256
259
  'no-var-requires': no_var_requires_1.default,
260
+ 'no-wrapper-object-types': no_wrapper_object_types_1.default,
257
261
  'non-nullable-type-assertion-style': non_nullable_type_assertion_style_1.default,
258
262
  'object-curly-spacing': object_curly_spacing_1.default,
259
263
  'only-throw-error': only_throw_error_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":";;;;;AAEA,kGAAwE;AACxE,8DAAqC;AACrC,sEAA6C;AAC7C,sEAA4C;AAC5C,8EAAoD;AACpD,4DAAmC;AACnC,oEAA2C;AAC3C,gEAAuC;AACvC,kGAAuE;AACvE,sFAA2D;AAC3D,kEAAyC;AACzC,oEAA2C;AAC3C,wGAA8E;AAC9E,wGAA6E;AAC7E,4EAAmD;AACnD,8FAAoE;AACpE,gGAAsE;AACtE,wFAA8D;AAC9D,wFAA8D;AAC9D,8EAAoD;AACpD,kEAAyC;AACzC,oGAAyE;AACzE,oGAA0E;AAC1E,sGAA2E;AAC3E,4EAAkD;AAClD,sDAA8B;AAC9B,4EAAmD;AACnD,gEAAuC;AACvC,wEAA+C;AAC/C,kFAAwD;AACxD,gGAAqE;AACrE,8DAAqC;AACrC,sFAA4D;AAC5D,wEAA+C;AAC/C,sFAA4D;AAC5D,4EAAmD;AACnD,kFAAwD;AACxD,wEAA8C;AAC9C,4EAAiD;AACjD,wGAAsF;AACtF,kGAAuE;AACvE,oFAAyD;AACzD,0FAA+D;AAC/D,sGAA2E;AAC3E,4EAAkD;AAClD,4EAAkD;AAClD,8EAAoD;AACpD,kFAAuD;AACvD,wEAA8C;AAC9C,gGAAoE;AACpE,wEAA8C;AAC9C,oEAA0C;AAC1C,gFAAsD;AACtD,kFAAwD;AACxD,wEAA6C;AAC7C,wEAA8C;AAC9C,gGAAoE;AACpE,gFAAsD;AACtD,wEAA8C;AAC9C,kFAAuD;AACvD,kEAAwC;AACxC,kFAAuD;AACvD,0EAAgD;AAChD,kGAAuE;AACvE,sEAA4C;AAC5C,gFAAsD;AACtD,sEAA4C;AAC5C,kEAAyC;AACzC,wHAA2F;AAC3F,gHAAmF;AACnF,oFAAyD;AACzD,kEAAyC;AACzC,sGAA2E;AAC3E,8EAAoD;AACpD,oFAA0D;AAC1D,4DAAmC;AACnC,oEAA0C;AAC1C,0EAAgD;AAChD,oEAA0C;AAC1C,sHAA0F;AAC1F,0FAAgE;AAChE,kIAAsG;AACtG,0FAAgE;AAChE,8GAAmF;AACnF,oGAAyE;AACzE,oGAAyE;AACzE,sGAA2E;AAC3E,sGAA2E;AAC3E,8EAAoD;AACpD,kFAAwD;AACxD,sEAA4C;AAC5C,oGAAyE;AACzE,4FAAiE;AACjE,wFAA6D;AAC7D,wFAA6D;AAC7D,0EAAgD;AAChD,oFAAyD;AACzD,oFAA0D;AAC1D,sEAA4C;AAC5C,kFAAuD;AACvD,sFAA4D;AAC5D,wFAA6D;AAC7D,kGAAuE;AACvE,wEAA8C;AAC9C,wFAA6D;AAC7D,4GAAgF;AAChF,kFAAwD;AACxD,0EAAgD;AAChD,wGAA6E;AAC7E,kFAAyD;AACzD,wEAA8C;AAC9C,kFAAyD;AACzD,0FAAgE;AAChE,gEAAuC;AACvC,oEAA0C;AAC1C,kFAAwD;AACxD,wEAA+C;AAC/C,8FAAmE;AACnE,0FAAgE;AAChE,4FAAkE;AAClE,oFAA0D;AAC1D,kGAAuE;AACvE,wEAA+C;AAC/C,wGAA6E;AAC7E,kGAAuE;AACvE,8EAAoD;AACpD,wFAA6D;AAC7D,sGAA0E;AAC1E,sFAA2D;AAC3D,sFAA4D;AAC5D,sDAA8B;AAC9B,8FAAmE;AACnE,oEAA2C;AAC3C,sFAA4D;AAC5D,oGAA0E;AAC1E,kEAAyC;AACzC,kDAA0B;AAC1B,sFAA4D;AAC5D,gFAAsD;AACtD,gGAAqE;AACrE,wEAA8C;AAC9C,8FAAoE;AACpE,gGAAsE;AACtE,sFAA4D;AAC5D,wFAA8D;AAC9D,wDAAgC;AAChC,sEAA6C;AAC7C,8EAAqD;AACrD,sHAAyF;AAEzF,kBAAe;IACb,8BAA8B,EAAE,sCAA0B;IAC1D,YAAY,EAAE,oBAAS;IACvB,gBAAgB,EAAE,wBAAa;IAC/B,gBAAgB,EAAE,wBAAY;IAC9B,oBAAoB,EAAE,4BAAgB;IACtC,WAAW,EAAE,mBAAQ;IACrB,eAAe,EAAE,uBAAY;IAC7B,aAAa,EAAE,qBAAU;IACzB,8BAA8B,EAAE,sCAAyB;IACzD,wBAAwB,EAAE,gCAAmB;IAC7C,cAAc,EAAE,sBAAW;IAC3B,eAAe,EAAE,uBAAY;IAC7B,iCAAiC,EAAE,yCAA6B;IAChE,iCAAiC,EAAE,yCAA4B;IAC/D,mBAAmB,EAAE,2BAAgB;IACrC,4BAA4B,EAAE,oCAAwB;IACtD,6BAA6B,EAAE,qCAAyB;IACxD,yBAAyB,EAAE,iCAAqB;IAChD,yBAAyB,EAAE,iCAAqB;IAChD,oBAAoB,EAAE,4BAAgB;IACtC,cAAc,EAAE,sBAAW;IAC3B,+BAA+B,EAAE,uCAA0B;IAC3D,+BAA+B,EAAE,uCAA2B;IAC5D,gCAAgC,EAAE,wCAA2B;IAC7D,mBAAmB,EAAE,2BAAe;IACpC,MAAM,EAAE,gBAAM;IACd,mBAAmB,EAAE,2BAAgB;IACrC,aAAa,EAAE,qBAAU;IACzB,iBAAiB,EAAE,yBAAc;IACjC,sBAAsB,EAAE,8BAAkB;IAC1C,6BAA6B,EAAE,qCAAwB;IACvD,YAAY,EAAE,oBAAS;IACvB,wBAAwB,EAAE,gCAAoB;IAC9C,iBAAiB,EAAE,yBAAc;IACjC,wBAAwB,EAAE,gCAAoB;IAC9C,mBAAmB,EAAE,2BAAgB;IACrC,sBAAsB,EAAE,8BAAkB;IAC1C,iBAAiB,EAAE,yBAAa;IAChC,mBAAmB,EAAE,2BAAc;IACnC,iCAAiC,EAAE,yCAAqC;IACxE,8BAA8B,EAAE,sCAAyB;IACzD,uBAAuB,EAAE,+BAAkB;IAC3C,0BAA0B,EAAE,kCAAqB;IACjD,gCAAgC,EAAE,wCAA2B;IAC7D,mBAAmB,EAAE,2BAAe;IACpC,mBAAmB,EAAE,2BAAe;IACpC,oBAAoB,EAAE,4BAAgB;IACtC,sBAAsB,EAAE,8BAAiB;IACzC,iBAAiB,EAAE,yBAAa;IAChC,6BAA6B,EAAE,qCAAuB;IACtD,iBAAiB,EAAE,yBAAa;IAChC,eAAe,EAAE,uBAAW;IAC5B,qBAAqB,EAAE,6BAAiB;IACxC,sBAAsB,EAAE,8BAAkB;IAC1C,iBAAiB,EAAE,yBAAY;IAC/B,iBAAiB,EAAE,yBAAa;IAChC,6BAA6B,EAAE,qCAAuB;IACtD,qBAAqB,EAAE,6BAAiB;IACxC,iBAAiB,EAAE,yBAAa;IAChC,sBAAsB,EAAE,8BAAiB;IACzC,cAAc,EAAE,sBAAU;IAC1B,sBAAsB,EAAE,8BAAiB;IACzC,kBAAkB,EAAE,0BAAc;IAClC,8BAA8B,EAAE,sCAAyB;IACzD,gBAAgB,EAAE,wBAAY;IAC9B,qBAAqB,EAAE,6BAAiB;IACxC,gBAAgB,EAAE,wBAAY;IAC9B,cAAc,EAAE,sBAAW;IAC3B,yCAAyC,EAAE,iDAAkC;IAC7E,qCAAqC,EAAE,6CAA8B;IACrE,uBAAuB,EAAE,+BAAkB;IAC3C,cAAc,EAAE,sBAAW;IAC3B,gCAAgC,EAAE,wCAA2B;IAC7D,oBAAoB,EAAE,4BAAgB;IACtC,uBAAuB,EAAE,+BAAmB;IAC5C,WAAW,EAAE,mBAAQ;IACrB,eAAe,EAAE,uBAAW;IAC5B,kBAAkB,EAAE,0BAAc;IAClC,eAAe,EAAE,uBAAW;IAC5B,wCAAwC,EAAE,gDAAkC;IAC5E,0BAA0B,EAAE,kCAAsB;IAClD,8CAA8C,EAC5C,sDAAwC;IAC1C,0BAA0B,EAAE,kCAAsB;IAClD,oCAAoC,EAAE,4CAA+B;IACrE,+BAA+B,EAAE,uCAA0B;IAC3D,+BAA+B,EAAE,uCAA0B;IAC3D,gCAAgC,EAAE,wCAA2B;IAC7D,gCAAgC,EAAE,wCAA2B;IAC7D,oBAAoB,EAAE,4BAAgB;IACtC,sBAAsB,EAAE,8BAAkB;IAC1C,gBAAgB,EAAE,wBAAY;IAC9B,+BAA+B,EAAE,uCAA0B;IAC3D,2BAA2B,EAAE,mCAAsB;IACnD,yBAAyB,EAAE,iCAAoB;IAC/C,yBAAyB,EAAE,iCAAoB;IAC/C,kBAAkB,EAAE,0BAAc;IAClC,uBAAuB,EAAE,+BAAkB;IAC3C,uBAAuB,EAAE,+BAAmB;IAC5C,gBAAgB,EAAE,wBAAY;IAC9B,sBAAsB,EAAE,8BAAiB;IACzC,wBAAwB,EAAE,gCAAoB;IAC9C,yBAAyB,EAAE,iCAAoB;IAC/C,8BAA8B,EAAE,sCAAyB;IACzD,iBAAiB,EAAE,yBAAa;IAChC,yBAAyB,EAAE,iCAAoB;IAC/C,mCAAmC,EAAE,2CAA6B;IAClE,sBAAsB,EAAE,8BAAkB;IAC1C,kBAAkB,EAAE,0BAAc;IAClC,iCAAiC,EAAE,yCAA4B;IAC/D,sBAAsB,EAAE,8BAAmB;IAC3C,iBAAiB,EAAE,yBAAa;IAChC,sBAAsB,EAAE,8BAAmB;IAC3C,0BAA0B,EAAE,kCAAsB;IAClD,aAAa,EAAE,qBAAU;IACzB,eAAe,EAAE,uBAAW;IAC5B,sBAAsB,EAAE,8BAAkB;IAC1C,iBAAiB,EAAE,yBAAc;IACjC,4BAA4B,EAAE,oCAAuB;IACrD,0BAA0B,EAAE,kCAAsB;IAClD,2BAA2B,EAAE,mCAAuB;IACpD,uBAAuB,EAAE,+BAAmB;IAC5C,8BAA8B,EAAE,sCAAyB;IACzD,iBAAiB,EAAE,yBAAc;IACjC,iCAAiC,EAAE,yCAA4B;IAC/D,8BAA8B,EAAE,sCAAyB;IACzD,oBAAoB,EAAE,4BAAgB;IACtC,yBAAyB,EAAE,iCAAoB;IAC/C,gCAAgC,EAAE,wCAA0B;IAC5D,wBAAwB,EAAE,gCAAmB;IAC7C,wBAAwB,EAAE,gCAAoB;IAC9C,MAAM,EAAE,gBAAM;IACd,4BAA4B,EAAE,oCAAuB;IACrD,eAAe,EAAE,uBAAY;IAC7B,wBAAwB,EAAE,gCAAoB;IAC9C,+BAA+B,EAAE,uCAA2B;IAC5D,cAAc,EAAE,sBAAW;IAC3B,IAAI,EAAE,cAAI;IACV,wBAAwB,EAAE,gCAAoB;IAC9C,qBAAqB,EAAE,6BAAiB;IACxC,6BAA6B,EAAE,qCAAwB;IACvD,iBAAiB,EAAE,yBAAa;IAChC,4BAA4B,EAAE,oCAAwB;IACtD,6BAA6B,EAAE,qCAAyB;IACxD,wBAAwB,EAAE,gCAAoB;IAC9C,yBAAyB,EAAE,iCAAqB;IAChD,OAAO,EAAE,iBAAO;IAChB,gBAAgB,EAAE,wBAAa;IAC/B,oBAAoB,EAAE,4BAAiB;IACvC,wCAAwC,EAAE,gDAAiC;CAC/C,CAAC"}
@@ -185,6 +185,9 @@ exports.default = (0, util_1.createRule)({
185
185
  .getCallSignatures().length > 0);
186
186
  }
187
187
  function isUnhandledPromise(checker, node) {
188
+ if (node.type === utils_1.AST_NODE_TYPES.AssignmentExpression) {
189
+ return { isUnhandled: false };
190
+ }
188
191
  // First, check expressions whose resulting types may not be promise-like
189
192
  if (node.type === utils_1.AST_NODE_TYPES.SequenceExpression) {
190
193
  // Any child in a comma expression could return a potentially unhandled
@@ -207,6 +210,14 @@ exports.default = (0, util_1.createRule)({
207
210
  if (isPromiseArray(tsNode)) {
208
211
  return { isUnhandled: true, promiseArray: true };
209
212
  }
213
+ // await expression addresses promises, but not promise arrays.
214
+ if (node.type === utils_1.AST_NODE_TYPES.AwaitExpression) {
215
+ // you would think this wouldn't be strictly necessary, since we're
216
+ // anyway checking the type of the expression, but, unfortunately TS
217
+ // reports the result of `await (promise as Promise<number> & number)`
218
+ // as `Promise<number> & number` instead of `number`.
219
+ return { isUnhandled: false };
220
+ }
210
221
  if (!isPromiseLike(tsNode)) {
211
222
  return { isUnhandled: false };
212
223
  }
@@ -236,9 +247,6 @@ exports.default = (0, util_1.createRule)({
236
247
  // All other cases are unhandled.
237
248
  return { isUnhandled: true };
238
249
  }
239
- else if (node.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression) {
240
- return { isUnhandled: true };
241
- }
242
250
  else if (node.type === utils_1.AST_NODE_TYPES.ConditionalExpression) {
243
251
  // We must be getting the promise-like value from one of the branches of the
244
252
  // ternary. Check them directly.
@@ -248,14 +256,6 @@ exports.default = (0, util_1.createRule)({
248
256
  }
249
257
  return isUnhandledPromise(checker, node.consequent);
250
258
  }
251
- else if (node.type === utils_1.AST_NODE_TYPES.MemberExpression ||
252
- node.type === utils_1.AST_NODE_TYPES.Identifier ||
253
- node.type === utils_1.AST_NODE_TYPES.NewExpression) {
254
- // If it is just a property access chain or a `new` call (e.g. `foo.bar` or
255
- // `new Promise()`), the promise is not handled because it doesn't have the
256
- // necessary then/catch call at the end of the chain.
257
- return { isUnhandled: true };
258
- }
259
259
  else if (node.type === utils_1.AST_NODE_TYPES.LogicalExpression) {
260
260
  const leftResult = isUnhandledPromise(checker, node.left);
261
261
  if (leftResult.isUnhandled) {
@@ -263,10 +263,8 @@ exports.default = (0, util_1.createRule)({
263
263
  }
264
264
  return isUnhandledPromise(checker, node.right);
265
265
  }
266
- // We conservatively return false for all other types of expressions because
267
- // we don't want to accidentally fail if the promise is handled internally but
268
- // we just can't tell.
269
- return { isUnhandled: false };
266
+ // Anything else is unhandled.
267
+ return { isUnhandled: true };
270
268
  }
271
269
  function isPromiseArray(node) {
272
270
  const type = checker.getTypeAtLocation(node);
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@typescript-eslint/utils");
4
+ const util_1 = require("../util");
5
+ exports.default = (0, util_1.createRule)({
6
+ name: 'no-unsafe-function-type',
7
+ meta: {
8
+ type: 'problem',
9
+ docs: {
10
+ description: 'Disallow using the unsafe built-in Function type',
11
+ },
12
+ fixable: 'code',
13
+ messages: {
14
+ bannedFunctionType: [
15
+ 'The `Function` type accepts any function-like value.',
16
+ 'Prefer explicitly defining any function parameters and return type.',
17
+ ].join('\n'),
18
+ },
19
+ schema: [],
20
+ },
21
+ defaultOptions: [],
22
+ create(context) {
23
+ function checkBannedTypes(node) {
24
+ if (node.type === utils_1.AST_NODE_TYPES.Identifier &&
25
+ node.name === 'Function' &&
26
+ (0, util_1.isReferenceToGlobalFunction)('Function', node, context.sourceCode)) {
27
+ context.report({
28
+ node,
29
+ messageId: 'bannedFunctionType',
30
+ });
31
+ }
32
+ }
33
+ return {
34
+ TSClassImplements(node) {
35
+ checkBannedTypes(node.expression);
36
+ },
37
+ TSInterfaceHeritage(node) {
38
+ checkBannedTypes(node.expression);
39
+ },
40
+ TSTypeReference(node) {
41
+ checkBannedTypes(node.typeName);
42
+ },
43
+ };
44
+ },
45
+ });
46
+ //# sourceMappingURL=no-unsafe-function-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-unsafe-function-type.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-function-type.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAE1D,kCAAkE;AAElE,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,kDAAkD;SAChE;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,kBAAkB,EAAE;gBAClB,sDAAsD;gBACtD,qEAAqE;aACtE,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,gBAAgB,CAAC,IAAmB;YAC3C,IACE,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACvC,IAAI,CAAC,IAAI,KAAK,UAAU;gBACxB,IAAA,kCAA2B,EAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EACjE,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,oBAAoB;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,iBAAiB,CAAC,IAAI;gBACpB,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;YACD,mBAAmB,CAAC,IAAI;gBACtB,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;YACD,eAAe,CAAC,IAAI;gBAClB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@typescript-eslint/utils");
4
+ const util_1 = require("../util");
5
+ const classNames = new Set([
6
+ 'BigInt',
7
+ // eslint-disable-next-line @typescript-eslint/internal/prefer-ast-types-enum
8
+ 'Boolean',
9
+ 'Number',
10
+ 'Object',
11
+ // eslint-disable-next-line @typescript-eslint/internal/prefer-ast-types-enum
12
+ 'String',
13
+ 'Symbol',
14
+ ]);
15
+ exports.default = (0, util_1.createRule)({
16
+ name: 'no-wrapper-object-types',
17
+ meta: {
18
+ type: 'problem',
19
+ docs: {
20
+ description: 'Disallow using confusing built-in primitive class wrappers',
21
+ },
22
+ fixable: 'code',
23
+ messages: {
24
+ bannedClassType: 'Prefer using the primitive `{{preferred}}` as a type name, rather than the upper-cased `{{typeName}}`.',
25
+ },
26
+ schema: [],
27
+ },
28
+ defaultOptions: [],
29
+ create(context) {
30
+ function checkBannedTypes(node, includeFix) {
31
+ const typeName = node.type === utils_1.AST_NODE_TYPES.Identifier && node.name;
32
+ if (!typeName ||
33
+ !classNames.has(typeName) ||
34
+ !(0, util_1.isReferenceToGlobalFunction)(typeName, node, context.sourceCode)) {
35
+ return;
36
+ }
37
+ const preferred = typeName.toLowerCase();
38
+ context.report({
39
+ data: { typeName, preferred },
40
+ fix: includeFix
41
+ ? (fixer) => fixer.replaceText(node, preferred)
42
+ : undefined,
43
+ messageId: 'bannedClassType',
44
+ node,
45
+ });
46
+ }
47
+ return {
48
+ TSClassImplements(node) {
49
+ checkBannedTypes(node.expression, false);
50
+ },
51
+ TSInterfaceHeritage(node) {
52
+ checkBannedTypes(node.expression, false);
53
+ },
54
+ TSTypeReference(node) {
55
+ checkBannedTypes(node.typeName, true);
56
+ },
57
+ };
58
+ },
59
+ });
60
+ //# sourceMappingURL=no-wrapper-object-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-wrapper-object-types.js","sourceRoot":"","sources":["../../src/rules/no-wrapper-object-types.ts"],"names":[],"mappings":";;AACA,oDAA0D;AAE1D,kCAAkE;AAElE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,QAAQ;IACR,6EAA6E;IAC7E,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,6EAA6E;IAC7E,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AAEH,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,4DAA4D;SAC1E;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,eAAe,EACb,wGAAwG;SAC3G;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,gBAAgB,CACvB,IAA+C,EAC/C,UAAmB;YAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;YACtE,IACE,CAAC,QAAQ;gBACT,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACzB,CAAC,IAAA,kCAA2B,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAChE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAEzC,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,UAAU;oBACb,CAAC,CAAC,CAAC,KAAK,EAAoB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;oBACjE,CAAC,CAAC,SAAS;gBACb,SAAS,EAAE,iBAAiB;gBAC5B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,iBAAiB,CAAC,IAAI;gBACpB,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YACD,mBAAmB,CAAC,IAAI;gBACtB,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YACD,eAAe,CAAC,IAAI;gBAClB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -210,7 +210,7 @@ exports.default = (0, util_1.createRule)({
210
210
  //
211
211
  // Note: we're always looking for array member access to be "computed",
212
212
  // i.e. `filteredResults[0]`, since `filteredResults.0` isn't a thing.
213
- ['MemberExpression[computed=true]'](node) {
213
+ 'MemberExpression[computed=true]'(node) {
214
214
  if (isMemberAccessOfZero(node)) {
215
215
  const object = node.object;
216
216
  const filterExpressions = parseArrayFilterExpressions(object);
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-find.js","sourceRoot":"","sources":["../../src/rules/prefer-find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-find.js","sourceRoot":"","sources":["../../src/rules/prefer-find.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,12 @@ exports.default = (0, util_1.createRule)({
49
49
  schema: [
50
50
  {
51
51
  type: 'string',
52
- enum: ['in-try-catch', 'always', 'never'],
52
+ enum: [
53
+ 'in-try-catch',
54
+ 'always',
55
+ 'never',
56
+ 'error-handling-correctness-only',
57
+ ],
53
58
  },
54
59
  ],
55
60
  },
@@ -218,73 +223,57 @@ exports.default = (0, util_1.createRule)({
218
223
  }
219
224
  const type = checker.getTypeAtLocation(child);
220
225
  const isThenable = tsutils.isThenableType(checker, expression, type);
221
- if (!isAwait && !isThenable) {
222
- return;
223
- }
224
- if (isAwait && !isThenable) {
225
- // any/unknown could be thenable; do not auto-fix
226
- const useAutoFix = !((0, util_1.isTypeAnyType)(type) || (0, util_1.isTypeUnknownType)(type));
227
- context.report({
228
- messageId: 'nonPromiseAwait',
229
- node,
230
- ...fixOrSuggest(useAutoFix, {
231
- messageId: 'nonPromiseAwait',
232
- fix: fixer => removeAwait(fixer, node),
233
- }),
234
- });
235
- return;
236
- }
237
- const affectsErrorHandling = affectsExplicitErrorHandling(expression) ||
238
- affectsExplicitResourceManagement(node);
239
- const useAutoFix = !affectsErrorHandling;
240
- if (option === 'always') {
241
- if (!isAwait && isThenable) {
242
- context.report({
243
- messageId: 'requiredPromiseAwait',
244
- node,
245
- ...fixOrSuggest(useAutoFix, {
246
- messageId: 'requiredPromiseAwaitSuggestion',
247
- fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
248
- }),
249
- });
250
- }
251
- return;
252
- }
253
- if (option === 'never') {
226
+ // handle awaited _non_thenables
227
+ if (!isThenable) {
254
228
  if (isAwait) {
229
+ // any/unknown could be thenable; do not auto-fix
230
+ const useAutoFix = !((0, util_1.isTypeAnyType)(type) || (0, util_1.isTypeUnknownType)(type));
255
231
  context.report({
256
- messageId: 'disallowedPromiseAwait',
232
+ messageId: 'nonPromiseAwait',
257
233
  node,
258
234
  ...fixOrSuggest(useAutoFix, {
259
- messageId: 'disallowedPromiseAwaitSuggestion',
235
+ messageId: 'nonPromiseAwait',
260
236
  fix: fixer => removeAwait(fixer, node),
261
237
  }),
262
238
  });
263
239
  }
264
240
  return;
265
241
  }
266
- if (option === 'in-try-catch') {
267
- if (isAwait && !affectsErrorHandling) {
268
- context.report({
269
- messageId: 'disallowedPromiseAwait',
270
- node,
271
- ...fixOrSuggest(useAutoFix, {
272
- messageId: 'disallowedPromiseAwaitSuggestion',
273
- fix: fixer => removeAwait(fixer, node),
274
- }),
275
- });
276
- }
277
- else if (!isAwait && affectsErrorHandling) {
278
- context.report({
279
- messageId: 'requiredPromiseAwait',
280
- node,
281
- ...fixOrSuggest(useAutoFix, {
282
- messageId: 'requiredPromiseAwaitSuggestion',
283
- fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
284
- }),
285
- });
286
- }
287
- return;
242
+ // At this point it's definitely a thenable.
243
+ const affectsErrorHandling = affectsExplicitErrorHandling(expression) ||
244
+ affectsExplicitResourceManagement(node);
245
+ const useAutoFix = !affectsErrorHandling;
246
+ const ruleConfiguration = getConfiguration(option);
247
+ const shouldAwaitInCurrentContext = affectsErrorHandling
248
+ ? ruleConfiguration.errorHandlingContext
249
+ : ruleConfiguration.ordinaryContext;
250
+ switch (shouldAwaitInCurrentContext) {
251
+ case "don't-care":
252
+ break;
253
+ case 'await':
254
+ if (!isAwait) {
255
+ context.report({
256
+ messageId: 'requiredPromiseAwait',
257
+ node,
258
+ ...fixOrSuggest(useAutoFix, {
259
+ messageId: 'requiredPromiseAwaitSuggestion',
260
+ fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
261
+ }),
262
+ });
263
+ }
264
+ break;
265
+ case 'no-await':
266
+ if (isAwait) {
267
+ context.report({
268
+ messageId: 'disallowedPromiseAwait',
269
+ node,
270
+ ...fixOrSuggest(useAutoFix, {
271
+ messageId: 'disallowedPromiseAwaitSuggestion',
272
+ fix: fixer => removeAwait(fixer, node),
273
+ }),
274
+ });
275
+ }
276
+ break;
288
277
  }
289
278
  }
290
279
  function findPossiblyReturnedNodes(node) {
@@ -325,6 +314,30 @@ exports.default = (0, util_1.createRule)({
325
314
  };
326
315
  },
327
316
  });
317
+ function getConfiguration(option) {
318
+ switch (option) {
319
+ case 'always':
320
+ return {
321
+ ordinaryContext: 'await',
322
+ errorHandlingContext: 'await',
323
+ };
324
+ case 'never':
325
+ return {
326
+ ordinaryContext: 'no-await',
327
+ errorHandlingContext: 'no-await',
328
+ };
329
+ case 'error-handling-correctness-only':
330
+ return {
331
+ ordinaryContext: "don't-care",
332
+ errorHandlingContext: 'await',
333
+ };
334
+ case 'in-try-catch':
335
+ return {
336
+ ordinaryContext: 'no-await',
337
+ errorHandlingContext: 'await',
338
+ };
339
+ }
340
+ }
328
341
  function fixOrSuggest(useFix, suggestion) {
329
342
  return useFix ? { fix: suggestion.fix } : { suggest: [suggestion] };
330
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ __exportStar(require("./isNullLiteral"), exports);
31
31
  __exportStar(require("./isUndefinedIdentifier"), exports);
32
32
  __exportStar(require("./misc"), exports);
33
33
  __exportStar(require("./objectIterators"), exports);
34
+ __exportStar(require("./scopeUtils"), exports);
34
35
  __exportStar(require("./types"), exports);
35
36
  __exportStar(require("./isAssignee"), exports);
36
37
  // this is done for convenience - saves migrating all of the old rules
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAuD;AAEvD,6CAA2B;AAC3B,2DAAyC;AACzC,+CAA6B;AAC7B,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,yCAAuB;AACvB,oDAAkC;AAClC,0CAAwB;AACxB,+CAA6B;AAE7B,sEAAsE;AACtE,gEAA8C;AAC9C,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,GAAG,mBAAW,CAAC;AAMd,oCAAY;AACZ,8BAAS;AACT,4CAAgB;AAChB,8CAAiB;AACjB,gCAAU;AAGV,8CAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAuD;AAEvD,6CAA2B;AAC3B,2DAAyC;AACzC,+CAA6B;AAC7B,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,yCAAuB;AACvB,oDAAkC;AAClC,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAE7B,sEAAsE;AACtE,gEAA8C;AAC9C,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,GAAG,mBAAW,CAAC;AAMd,oCAAY;AACZ,8BAAS;AACT,4CAAgB;AAChB,8CAAiB;AACjB,gCAAU;AAGV,8CAAiB"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isReferenceToGlobalFunction = isReferenceToGlobalFunction;
4
+ function isReferenceToGlobalFunction(calleeName, node, sourceCode) {
5
+ const ref = sourceCode
6
+ .getScope(node)
7
+ .references.find(ref => ref.identifier.name === calleeName);
8
+ // ensure it's the "global" version
9
+ return !ref?.resolved?.defs.length;
10
+ }
11
+ //# sourceMappingURL=scopeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../src/util/scopeUtils.ts"],"names":[],"mappings":";;AAGA,kEAWC;AAXD,SAAgB,2BAA2B,CACzC,UAAkB,EAClB,IAAmB,EACnB,UAAsB;IAEtB,MAAM,GAAG,GAAG,UAAU;SACnB,QAAQ,CAAC,IAAI,CAAC;SACd,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAE9D,mCAAmC;IACnC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;AACrC,CAAC"}
@@ -9,6 +9,11 @@ import TabItem from '@theme/TabItem';
9
9
  >
10
10
  > See **https://typescript-eslint.io/rules/ban-types** for documentation.
11
11
 
12
+ :::danger Deprecated
13
+ **This rule is deprecated** and will be removed in typescript-eslint@v8.
14
+ See _**[Replacement of `ban-types`](/blog/announcing-typescript-eslint-v8-beta#replacement-of-ban-types)**_ for more details.
15
+ :::
16
+
12
17
  Some built-in types have aliases, while some types are considered dangerous or harmful.
13
18
  It's often a good idea to ban certain types to help with consistency and safety.
14
19
 
@@ -0,0 +1,63 @@
1
+ ---
2
+ description: 'Disallow using the unsafe built-in Function type.'
3
+ ---
4
+
5
+ import Tabs from '@theme/Tabs';
6
+ import TabItem from '@theme/TabItem';
7
+
8
+ > 🛑 This file is source code, not the primary documentation location! 🛑
9
+ >
10
+ > See **https://typescript-eslint.io/rules/no-unsafe-function-type** for documentation.
11
+
12
+ TypeScript's built-in `Function` type allows being called with any number of arguments and returns type `any`.
13
+ `Function` also allows classes or plain objects that happen to possess all properties of the `Function` class.
14
+ It's generally better to specify function parameters and return types with the function type syntax.
15
+
16
+ "Catch-all" function types include:
17
+
18
+ - `() => void`: a function that has no parameters and whose return is ignored
19
+ - `(...args: never) => unknown`: a "top type" for functions that can be assigned any function type, but can't be called
20
+
21
+ Examples of code for this rule:
22
+
23
+ <Tabs>
24
+ <TabItem value="❌ Incorrect">
25
+
26
+ ```ts
27
+ let noParametersOrReturn: Function;
28
+ noParametersOrReturn = () => {};
29
+
30
+ let stringToNumber: Function;
31
+ stringToNumber = (text: string) => text.length;
32
+
33
+ let identity: Function;
34
+ identity = value => value;
35
+ ```
36
+
37
+ </TabItem>
38
+ <TabItem value="✅ Correct">
39
+
40
+ ```ts
41
+ let noParametersOrReturn: () => void;
42
+ noParametersOrReturn = () => {};
43
+
44
+ let stringToNumber: (text: string) => number;
45
+ stringToNumber = text => text.length;
46
+
47
+ let identity: <T>(value: T) => T;
48
+ identity = value => value;
49
+ ```
50
+
51
+ </TabItem>
52
+ </Tabs>
53
+
54
+ ## When Not To Use It
55
+
56
+ If your project is still onboarding to TypeScript, it might be difficult to fully replace all unsafe `Function` types with more precise function types.
57
+ You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule.
58
+
59
+ ## Related To
60
+
61
+ - [`no-empty-object-type`](https://v8--typescript-eslint.netlify.app/rules/no-empty-object-type)
62
+ - [`no-restricted-types`](https://v8--typescript-eslint.netlify.app/rules/no-restricted-types)
63
+ - [`no-wrapper-object-types`](https://v8--typescript-eslint.netlify.app/rules/no-wrapper-object-types)
@@ -0,0 +1,75 @@
1
+ ---
2
+ description: 'Disallow using confusing built-in primitive class wrappers.'
3
+ ---
4
+
5
+ import Tabs from '@theme/Tabs';
6
+ import TabItem from '@theme/TabItem';
7
+
8
+ > 🛑 This file is source code, not the primary documentation location! 🛑
9
+ >
10
+ > See **https://typescript-eslint.io/rules/no-wrapper-object-types** for documentation.
11
+
12
+ TypeScript defines several confusing pairs of types that look very similar to each other, but actually mean different things: `boolean`/`Boolean`, `number`/`Number`, `string`/`String`, `bigint`/`BigInt`, `symbol`/`Symbol`, `object`/`Object`.
13
+ In general, only the lowercase variant is appropriate to use.
14
+ Therefore, this rule enforces that you only use the lowercase variant.
15
+
16
+ JavaScript has [8 data types](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures) at runtime, and these are described in TypeScript by the lowercase types `undefined`, `null`, `boolean`, `number`, `string`, `bigint`, `symbol`, and `object`.
17
+
18
+ As for the uppercase types, these are _structural types_ which describe JavaScript "wrapper" objects for each of the data types, such as [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean) and [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number).
19
+ Additionally, due to the quirks of structural typing, the corresponding primitives are _also_ assignable to these uppercase types, since they have the same "shape".
20
+
21
+ It is a universal best practice to work directly with the built-in primitives, like `0`, rather than objects that "look like" the corresponding primitive, like `new Number(0)`.
22
+
23
+ - Primitives have the expected value semantics with `==` and `===` equality checks, whereas their object counterparts are compared by reference.
24
+ That is to say, `"str" === "str"` but `new String("str") !== new String("str")`.
25
+ - Primitives have well-known behavior around truthiness/falsiness which is common to rely on, whereas all objects are truthy, regardless of the wrapped value (e.g. `new Boolean(false)` is truthy).
26
+ - TypeScript only allows arithmetic operations (e.g. `x - y`) to be performed on numeric primitives, not objects.
27
+
28
+ As a result, using the lowercase type names like `number` in TypeScript types instead of the uppercase names like `Number` is a better practice that describes code more accurately.
29
+
30
+ Examples of code for this rule:
31
+
32
+ <Tabs>
33
+ <TabItem value="❌ Incorrect">
34
+
35
+ ```ts
36
+ let myBigInt: BigInt;
37
+ let myBoolean: Boolean;
38
+ let myNumber: Number;
39
+ let myString: String;
40
+ let mySymbol: Symbol;
41
+
42
+ let myObject: Object = 'allowed by TypeScript';
43
+ ```
44
+
45
+ </TabItem>
46
+ <TabItem value="✅ Correct">
47
+
48
+ ```ts
49
+ let myBigint: bigint;
50
+ let myBoolean: boolean;
51
+ let myNumber: number;
52
+ let myString: string;
53
+ let mySymbol: symbol;
54
+
55
+ let myObject: object = "Type 'string' is not assignable to type 'object'.";
56
+ ```
57
+
58
+ </TabItem>
59
+ </Tabs>
60
+
61
+ ## When Not To Use It
62
+
63
+ If your project is a rare one that intentionally deals with the class equivalents of primitives, it might not be worthwhile to use this rule.
64
+ You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule.
65
+
66
+ ## Further Reading
67
+
68
+ - [MDN documentation on primitives](https://developer.mozilla.org/en-US/docs/Glossary/Primitive)
69
+ - [MDN documentation on `string` primitives and `String` objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#string_primitives_and_string_objects)
70
+
71
+ ## Related To
72
+
73
+ - [`no-empty-object-type`](./no-empty-object-type.mdx)
74
+ - [`no-restricted-types`](https://v8--typescript-eslint.netlify.app/rules/no-restricted-types)
75
+ - [`no-unsafe-function-type`](https://v8--typescript-eslint.netlify.app/rules/no-unsafe-function-type)
@@ -21,23 +21,43 @@ The extended rule is named `return-await` instead of `no-return-await` because t
21
21
  ## Options
22
22
 
23
23
  ```ts
24
- type Options = 'in-try-catch' | 'always' | 'never';
24
+ type Options =
25
+ | 'in-try-catch'
26
+ | 'always'
27
+ | 'error-handling-correctness-only'
28
+ | 'never';
25
29
 
26
30
  const defaultOptions: Options = 'in-try-catch';
27
31
  ```
28
32
 
33
+ The options in this rule distinguish between "ordinary contexts" and "error-handling contexts".
34
+ An error-handling context is anywhere where returning an unawaited promise would cause unexpected control flow regarding exceptions/rejections.
35
+ See detailed examples in the sections for each option.
36
+
37
+ - If you return a promise within a `try` block, it should be awaited in order to trigger subsequent `catch` or `finally` blocks as expected.
38
+ - If you return a promise within a `catch` block, and there _is_ a `finally` block, it should be awaited in order to trigger the `finally` block as expected.
39
+ - If you return a promise between a `using` or `await using` declaration and the end of its scope, it should be awaited, since it behaves equivalently to code wrapped in a `try` block followed by a `finally`.
40
+
41
+ Ordinary contexts are anywhere else a promise may be returned.
42
+ The choice of whether to await a returned promise in an ordinary context is mostly stylistic.
43
+
44
+ With these terms defined, the options may be summarized as follows:
45
+
46
+ | Option | Ordinary Context <br/> (stylistic preference 🎨) | Error-Handling Context <br/> (catches bugs 🐛) | Should I use this option? |
47
+ | :-------------------------------: | :----------------------------------------------: | :----------------------------------------------------------: | :--------------------------------------------------------: |
48
+ | `always` | `return await promise;` | `return await promise;` | ✅ Yes! |
49
+ | `in-try-catch` | `return promise;` | `return await promise;` | ✅ Yes! |
50
+ | `error-handling-correctness-only` | don't care 🤷 | `return await promise;` | 🟡 Okay to use, but the above options would be preferable. |
51
+ | `never` | `return promise;` | `return promise;` <br/> (⚠️ This behavior may be harmful ⚠️) | ❌ No. This option is deprecated. |
52
+
29
53
  ### `in-try-catch`
30
54
 
31
- In cases where returning an unawaited promise would cause unexpected error-handling control flow, the rule enforces that `await` must be used.
32
- Otherwise, the rule enforces that `await` must _not_ be used.
55
+ In error-handling contexts, the rule enforces that returned promises must be awaited.
56
+ In ordinary contexts, the rule enforces that returned promises _must not_ be awaited.
33
57
 
34
- Listing the error-handling cases exhaustively:
58
+ This is a good option if you prefer the shorter `return promise` form for stylistic reasons, wherever it's safe to use.
35
59
 
36
- - if you `return` a promise within a `try`, then it must be `await`ed, since it will always be followed by a `catch` or `finally`.
37
- - if you `return` a promise within a `catch`, and there is _no_ `finally`, then it must _not_ be `await`ed.
38
- - if you `return` a promise within a `catch`, and there _is_ a `finally`, then it _must_ be `await`ed.
39
- - if you `return` a promise within a `finally`, then it must not be `await`ed.
40
- - if you `return` a promise between a `using` or `await using` declaration and the end of its scope, it must be `await`ed, since it behaves equivalently to code wrapped in a `try` block.
60
+ Examples of code with `in-try-catch`:
41
61
 
42
62
  <Tabs>
43
63
  <TabItem value="❌ Incorrect">
@@ -169,7 +189,9 @@ async function validInTryCatch7() {
169
189
 
170
190
  ### `always`
171
191
 
172
- Requires that all returned promises are `await`ed.
192
+ Requires that all returned promises be awaited.
193
+
194
+ This is a good option if you like the consistency of simply always awaiting promises, or prefer not having to consider the distinction between error-handling contexts and ordinary contexts.
173
195
 
174
196
  Examples of code with `always`:
175
197
 
@@ -214,9 +236,49 @@ async function validAlways3() {
214
236
  </TabItem>
215
237
  </Tabs>
216
238
 
239
+ ### `error-handling-correctness-only`
240
+
241
+ In error-handling contexts, the rule enforces that returned promises must be awaited.
242
+ In ordinary contexts, the rule does not enforce any particular behavior around whether returned promises are awaited.
243
+
244
+ This is a good option if you only want to benefit from rule's ability to catch control flow bugs in error-handling contexts, but don't want to enforce a particular style otherwise.
245
+
246
+ :::info
247
+ We recommend you configure either `in-try-catch` or `always` instead of this option.
248
+ While the choice of whether to await promises outside of error-handling contexts is mostly stylistic, it's generally best to be consistent.
249
+ :::
250
+
251
+ Examples of additional correct code with `error-handling-correctness-only`:
252
+
253
+ <Tabs>
254
+ <TabItem value="✅ Correct">
255
+
256
+ ```ts option='"error-handling-correctness-only"'
257
+ async function asyncFunction(): Promise<void> {
258
+ if (Math.random() < 0.5) {
259
+ return await Promise.resolve();
260
+ } else {
261
+ return Promise.resolve();
262
+ }
263
+ }
264
+ ```
265
+
266
+ </TabItem>
267
+ </Tabs>
268
+
217
269
  ### `never`
218
270
 
219
- Disallows all `await`ing any returned promises.
271
+ Disallows awaiting any returned promises.
272
+
273
+ :::warning
274
+
275
+ This option is deprecated and will be removed in a future major version of typescript-eslint.
276
+
277
+ The `never` option introduces undesirable behavior in error-handling contexts.
278
+ If you prefer to minimize returning awaited promises, consider instead using `in-try-catch` instead, which also generally bans returning awaited promises, but only where it is _safe_ not to await a promise.
279
+
280
+ See more details at [typescript-eslint#9433](https://github.com/typescript-eslint/typescript-eslint/issues/9433).
281
+ :::
220
282
 
221
283
  Examples of code with `never`:
222
284
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/eslint-plugin",
3
- "version": "7.16.2-alpha.1",
3
+ "version": "7.16.2-alpha.10",
4
4
  "description": "TypeScript plugin for ESLint",
5
5
  "files": [
6
6
  "dist",
@@ -60,10 +60,10 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "@eslint-community/regexpp": "^4.10.0",
63
- "@typescript-eslint/scope-manager": "7.16.2-alpha.1",
64
- "@typescript-eslint/type-utils": "7.16.2-alpha.1",
65
- "@typescript-eslint/utils": "7.16.2-alpha.1",
66
- "@typescript-eslint/visitor-keys": "7.16.2-alpha.1",
63
+ "@typescript-eslint/scope-manager": "7.16.2-alpha.10",
64
+ "@typescript-eslint/type-utils": "7.16.2-alpha.10",
65
+ "@typescript-eslint/utils": "7.16.2-alpha.10",
66
+ "@typescript-eslint/visitor-keys": "7.16.2-alpha.10",
67
67
  "graphemer": "^1.4.0",
68
68
  "ignore": "^5.3.1",
69
69
  "natural-compare": "^1.4.0",
@@ -74,8 +74,8 @@
74
74
  "@types/marked": "^5.0.2",
75
75
  "@types/mdast": "^4.0.3",
76
76
  "@types/natural-compare": "*",
77
- "@typescript-eslint/rule-schema-to-typescript-types": "7.16.2-alpha.1",
78
- "@typescript-eslint/rule-tester": "7.16.2-alpha.1",
77
+ "@typescript-eslint/rule-schema-to-typescript-types": "7.16.2-alpha.10",
78
+ "@typescript-eslint/rule-tester": "7.16.2-alpha.10",
79
79
  "ajv": "^6.12.6",
80
80
  "cross-env": "^7.0.3",
81
81
  "cross-fetch": "*",