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
40 lines
914 B
"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"; |
|
} |