component.json support