You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
914 B

2 years ago
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getImportSource = getImportSource;
exports.getRequireSource = getRequireSource;
exports.isPolyfillSource = isPolyfillSource;
var _t = require("@babel/types");
const {
isCallExpression,
isExpressionStatement,
isIdentifier,
isStringLiteral
} = _t;
function getImportSource({
node
}) {
if (node.specifiers.length === 0) return node.source.value;
}
function getRequireSource({
node
}) {
if (!isExpressionStatement(node)) return;
const {
expression
} = node;
if (isCallExpression(expression) && isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && isStringLiteral(expression.arguments[0])) {
return expression.arguments[0].value;
}
}
function isPolyfillSource(source) {
return source === "@babel/polyfill" || source === "core-js";
}