Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function addToImports(node, sourceNode) {
const relativePath = sourceNode.value;
const rawSource = sourceNode.raw || (sourceNode.extra && sourceNode.extra.raw);
const preferredQuotes = (rawSource || '')[0] === "'" ? 'single' : 'double';
if (relativePath && !isNodeModule(relativePath)) {
const absolutePathFromRoot = path.join(pathDirname(filePath), relativePath);
if (absolutePathFromRoot.indexOf(aliasRelativeToRoot) === 0) {
const aliasedPath = absolutePathFromRoot.replace(aliasRelativeToRoot, alias);
sourceNode.value = aliasedPath;
//remove leading and trailing comments from the node
node.leadingComments = undefined;
node.trailingComments = undefined;
const {start, end} = node;
const currentImportCode = code.substring(start, end);
const updatedImport = generate(node, {jsescOption :{quotes: preferredQuotes}}, currentImportCode).code;
imports.push({
start,
end,
updatedImport: updatedImport