add component.json to support installation by component