not all components are js