UNPKG

ember-codemod-add-component-signatures

Version:
22 lines (21 loc) 692 B
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(); }