| Server IP : 217.160.0.135 / Your IP : 216.73.217.85 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/node_modules/@babel/eslint-plugin-development/lib/rules/ |
Upload File : |
const isBabelPluginFactory = require("../utils/is-babel-plugin-factory.cjs");
function getReturnValue(node) {
const {
body
} = node;
if (body.type === "BlockStatement") {
const returnNode = body.body.find(n => n.type === "ReturnStatement");
return returnNode && returnNode.argument;
}
return body;
}
module.exports = {
meta: {
schema: []
},
create(context) {
let pluginFound = false;
return {
FunctionDeclaration: functionVisitor,
FunctionExpression: functionVisitor,
ArrowFunctionExpression: functionVisitor,
"Program:exit"(node) {
if (!pluginFound) {
context.report(node, "This file does not export a Babel plugin.");
}
}
};
function functionVisitor(node) {
if (!isBabelPluginFactory(node, context.getScope())) return;
const returnValue = getReturnValue(node);
if (!returnValue || returnValue.type !== "ObjectExpression") return;
pluginFound = true;
if (!returnValue.properties.some(p => p.key.name === "name")) {
context.report(returnValue, "This Babel plugin doesn't have a 'name' property.");
}
}
}
};
//# sourceMappingURL=plugin-name.cjs.map