feat(component): add component.json