27 lines
788 B
JavaScript
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";
|
|
};
|