SourceTermAnalysisSystem_vue/node_modules/@eslint-community/eslint-plugin-eslint-comments/lib/internal/get-linters.js
2026-05-15 10:22:44 +08:00

35 lines
919 B
JavaScript

/**
* @author Toru Nagashima <https://github.com/mysticatea>
* See LICENSE file in root directory for full license.
*/
"use strict"
const path = require("path")
const needle = `${path.sep}node_modules${path.sep}eslint${path.sep}`
module.exports = () => {
const eslintPaths = new Set(
Object.keys(require.cache)
.filter((id) => id.includes(needle))
.map((id) => id.slice(0, id.indexOf(needle) + needle.length))
)
const linters = []
for (const eslintPath of eslintPaths) {
try {
// eslint-disable-next-line @eslint-community/mysticatea/node/global-require
const linter = require(eslintPath).Linter
if (linter) {
linters.push(linter)
}
} catch (error) {
if (error.code !== "MODULE_NOT_FOUND") {
throw error
}
}
}
return linters
}