ember-codemod-add-component-signatures
Version:
Codemod to add component signatures
22 lines (21 loc) • 692 B
JavaScript
import { AST } from '@codemod-utils/ast-template';
import { getHtmlInterface } from '../../../utils/components.js';
export function findElement(templateFile) {
const traverse = AST.traverse();
const htmlInterfaces = new Set();
traverse(templateFile, {
ElementNode(node) {
const hasSplattributes = node.attributes.find(({ name }) => {
return name === '...attributes';
});
if (!hasSplattributes) {
return;
}
htmlInterfaces.add(getHtmlInterface(node.tag));
},
});
if (htmlInterfaces.size === 0) {
return;
}
return Array.from(htmlInterfaces).sort();
}