Get the latest tech news
Colocation
Maintainability through colocation
Over time, as a codebase grows, it can become more and more difficult to manage dependencies (JS, CSS, images, etc.). Having to deal with multiple locations for files could make it difficult to ensure you have everything you need to maintain a component. I'm not saying don't bother unit testing complex utility functions (please do), but keeping them closer to where they're needed helps you avoid problems.
Or read this on Hacker News