2018-11-20 20:30:02 +01:00

27 lines
788 B
JavaScript

"use strict";
const getReferenceOrigin = require("./get-reference-origin");
const getExportName = require("./get-export-name");
module.exports = function isBabelPluginFactory(node, scope) {
const { parent } = node;
if (parent.type === "CallExpression") {
const calleeOrigin = getReferenceOrigin(parent.callee, scope);
// Using "declare" from "@babel/helper-plugin-utils"
return !!(
calleeOrigin &&
calleeOrigin.kind === "import" &&
calleeOrigin.name === "declare" &&
calleeOrigin.source === "@babel/helper-plugin-utils"
);
}
const exportName = getExportName(node);
// export default function ({ types: t }) {}
// module.exports = function ({ types: t }) {}
return exportName === "default" || exportName === "module.exports";
};