Clean up ComponentCompiler
Statically check that a component can be used in a context block