add `component.json` file for component compat

It would be sweet if you could merge this so that I don't have to maintain a fork. Cheers!
what's this for? Can you explain the semantics of this file.

It would actually be nice if we can move this logic into the component.json