# Component **Component** library provides feature for components (modules/themes/languages/libraries) to load from any custom directory like vendor. * Modules should be registered using ``` ComponentRegistrar::register(ComponentRegistrar::MODULE, '', __DIR__); ``` * Themes should be registered using ``` ComponentRegistrar::register(ComponentRegistrar::THEME, '', __DIR__); ``` * Languages should be registered using ``` ComponentRegistrar::register(ComponentRegistrar::LANGUAGE, '', __DIR__); ``` * Libraries should be registered using ``` ComponentRegistrar::register(ComponentRegistrar::LIBRARY, '', __DIR__); ```