Skip to content

Commit bdbf901

Browse files
authored
Refactor valid-compile (#86)
1 parent b9a89e2 commit bdbf901

File tree

1 file changed

+2
-35
lines changed

1 file changed

+2
-35
lines changed

src/rules/valid-compile.ts

+2-35
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import Module from "module"
22
import path from "path"
3-
import { VisitorKeys } from "svelte-eslint-parser"
4-
import type { SourceCode } from "../types"
53
import { createRule } from "../utils"
64
import * as compiler from "svelte/compiler"
75
import type typescript from "typescript"
@@ -120,14 +118,14 @@ export default createRule("valid-compile", {
120118
}
121119
}
122120

123-
const parserVisitorKeys = sourceCode.visitorKeys
124-
if (isEqualKeys(parserVisitorKeys, VisitorKeys)) {
121+
if (!context.parserServices.esTreeNodeToTSNodeMap) {
125122
return {
126123
"Program:exit"() {
127124
report(getWarnings(text))
128125
},
129126
}
130127
}
128+
131129
let ts: TS
132130
try {
133131
const createRequire: (filename: string) => (modName: string) => unknown =
@@ -375,37 +373,6 @@ export default createRule("valid-compile", {
375373
},
376374
})
377375

378-
/**
379-
* Checks if the given visitorKeys are the equals.
380-
*/
381-
function isEqualKeys(
382-
a: SourceCode["visitorKeys"],
383-
b: SourceCode["visitorKeys"],
384-
): boolean {
385-
const keysA = new Set(Object.keys(a))
386-
const keysB = new Set(Object.keys(a))
387-
if (keysA.size !== keysB.size) {
388-
return false
389-
}
390-
for (const key of keysA) {
391-
if (!keysB.has(key)) {
392-
return false
393-
}
394-
const vKeysA = new Set(a[key])
395-
const vKeysB = new Set(b[key])
396-
if (vKeysA.size !== vKeysB.size) {
397-
return false
398-
}
399-
400-
for (const vKey of vKeysA) {
401-
if (!vKeysB.has(vKey)) {
402-
return false
403-
}
404-
}
405-
}
406-
return true
407-
}
408-
409376
/**
410377
* @see https://github.com/sveltejs/eslint-plugin-svelte3/blob/259263ccaf69c59e473d9bfa39706b0955eccfbd/src/preprocess.js#L194
411378
* MIT License @ Conduitry

0 commit comments

Comments
 (0)