Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
depth++;
const {openingElement} = node;
let elementName = getElementName(openingElement.name);
elementName = elementName.replace(/^use\./, 'use:');
let isElement = true;
if (elementName.startsWith('use:')) {
elementName = elementName.replace('use:', 'use--');
openingElement.name = t.JSXIdentifier('div');
} else if (utils.isCustomElement(elementName)) {
if (options.elementFallback) {
openingElement.name = t.JSXIdentifier(
typeof options.elementFallback === 'boolean'
? 'div'
: options.elementFallback,
);
}
} else if (!/[^A-Z]\w+/.test(elementName)) {
isElement = false;
}
elementMap.set(elementPath, {elementName});
const spreads = [];
if (openingElement.attributes.length > 0) {
)
: null;
const {openingElement, closingElement} = node;
let elementName = getElementName(openingElement.name);
elementName = elementName.replace(/^use\./, 'use:');
let isElement = true;
if (elementName.startsWith('use:')) {
elementName = elementName.replace('use:', 'use--');
openingElement.name = t.JSXIdentifier('div');
} else if (
utils.isCustomElement(elementName) &&
!(
options.filterElement &&
options.filterElement(elementName)
)
) {
if (options.elementFallback) {
openingElement.name = t.JSXIdentifier(
typeof options.elementFallback === 'boolean'
? 'div'
: options.elementFallback,
);
}
} else if (!/[^A-Z]\w+/.test(elementName)) {
isElement = false;
}
JSXOpeningElement(node) {
if (!(node.name && t.isJSXIdentifier(node.name))) return;
const {name} = node.name;
if (!utils.isCustomElement(name)) return;
let asAttr;
for (const attr of node.attributes) {
if (
!(
t.isJSXAttribute(attr) &&
t.isJSXIdentifier(attr.name)
)
)
continue;
if (attr.name.name === 'as') {
asAttr = attr;
break;
}
}