Skip to content

Commit 926a891

Browse files
authored
refactor: use eslint-type-tracer (#267)
1 parent f7a9733 commit 926a891

File tree

10 files changed

+15
-2845
lines changed

10 files changed

+15
-2845
lines changed

.changeset/nervous-planets-teach.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"eslint-plugin-es-x": minor
3+
---
4+
5+
refactor: use eslint-type-tracer

lib/util/define-nonstandard-prototype-properties-handler/index.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
"use strict"
22

3+
const { buildTypeChecker } = require("eslint-type-tracer")
34
const { getPropertyKeyValue } = require("../get-property-key-value")
4-
const {
5-
buildObjectTypeChecker,
6-
} = require("../type-checker/object-type-checker")
7-
const {
8-
buildObjectTypeCheckerForTS,
9-
} = require("../type-checker/object-type-checker-for-ts")
105
const {
116
createPropertyGuardsContext,
127
} = require("../type-checker/property-guards")
@@ -32,9 +27,7 @@ function defineNonstandardPrototypePropertiesHandler(
3227
) {
3328
const sourceCode = getSourceCode(context)
3429

35-
const objectTypeChecker =
36-
buildObjectTypeCheckerForTS(context, false) ||
37-
buildObjectTypeChecker(context, false)
30+
const objectTypeChecker = buildTypeChecker(sourceCode)
3831

3932
const guardsContext = createPropertyGuardsContext({ context })
4033

@@ -62,7 +55,7 @@ function defineNonstandardPrototypePropertiesHandler(
6255
if (propertyNames.has(propertyName)) {
6356
continue
6457
}
65-
if (!objectTypeChecker(node, objectNode, className)) {
58+
if (!objectTypeChecker(objectNode, className, node)) {
6659
continue
6760
}
6861
const params = {

lib/util/define-prototype-properties-handler/index.js

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
"use strict"
22

33
const { getPropertyName } = require("@eslint-community/eslint-utils")
4-
const {
5-
buildObjectTypeChecker,
6-
} = require("../type-checker/object-type-checker")
7-
const {
8-
buildObjectTypeCheckerForTS,
9-
} = require("../type-checker/object-type-checker-for-ts")
104
const {
115
createPropertyGuardsContext,
126
} = require("../type-checker/property-guards")
137
const { getSourceCode } = require("eslint-compat-utils")
8+
const { buildTypeChecker } = require("eslint-type-tracer")
149

1510
/**
1611
* @typedef {import("estree").MemberExpression} MemberExpression
@@ -47,11 +42,10 @@ const { getSourceCode } = require("eslint-compat-utils")
4742
function definePrototypePropertiesHandler(context, propertyTypeMap, options) {
4843
const sourceCode = getSourceCode(context)
4944
const aggressiveOption = getAggressiveOption(context)
50-
const aggressiveResult = aggressiveOption ? "aggressive" : false
5145

52-
const objectTypeChecker =
53-
buildObjectTypeCheckerForTS(context, aggressiveResult) ||
54-
buildObjectTypeChecker(context, aggressiveResult)
46+
const objectTypeChecker = buildTypeChecker(sourceCode, {
47+
aggressive: aggressiveOption,
48+
})
5549

5650
/**
5751
* @param {MemberExpression|Property} node
@@ -100,7 +94,7 @@ function definePrototypePropertiesHandler(context, propertyTypeMap, options) {
10094
propertyName,
10195
objectNode,
10296
) {
103-
const objectTypeResult = objectTypeChecker(node, objectNode, className)
97+
const objectTypeResult = objectTypeChecker(objectNode, className, node)
10498
if (!objectTypeResult) {
10599
return false
106100
}

0 commit comments

Comments
 (0)