Files
NapCatQQ/.pnpm-store/v3/files/69/d65a71e05116f2a7acf37da07324866c0f855fc06a7cf887b2cceddf1f0af08fa049b1972de3bc1578cc75e94859c8b253e9e71203709077a2b36fe562244a
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

41 lines
1.2 KiB
Plaintext

/**
* @author Toru Nagashima
* See LICENSE file in root directory for full license.
*/
"use strict"
const exists = require("./exists")
const getAllowModules = require("./get-allow-modules")
/**
* Checks whether or not each requirement target exists.
*
* It looks up the target according to the logic of Node.js.
* See Also: https://nodejs.org/api/modules.html
*
* @param {RuleContext} context - A context to report.
* @param {ImportTarget[]} targets - A list of target information to check.
* @returns {void}
*/
module.exports = function checkForExistence(context, targets) {
const allowed = new Set(getAllowModules(context))
for (const target of targets) {
const missingModule =
target.moduleName != null &&
!allowed.has(target.moduleName) &&
target.filePath == null
const missingFile =
target.moduleName == null && !exists(target.filePath)
if (missingModule || missingFile) {
context.report({
node: target.node,
loc: target.node.loc,
message: '"{{name}}" is not found.',
data: target,
})
}
}
}