You are responsible for complying with all the licenses for the software that you distribute. You're not only giving users a copy of your immediate dependencies, but are giving them a bundle with your entire dependency graph. Software that you only use during the build process doesn't matter though.
This doesn't have to be a big nuisance. E.g. a separate page or dialogue with the license notices might be appropriate. As a rule of thumb, you should attribute third party components wherever you assert your own copyright, because you are not the sole copyright holder for the code you are distributing.
You're absolutely right that such attributions are rather rare in the frontend world. This has multiple factors.
- Since NPM makes it very easy to assemble huge dependency graphs without ever noticing the involved licenses, many frontend developers are not aware of their rights and obligations.
- Just because other sites get away with ignoring attribution requirements doesn't mean that it's legal.
The mobile app ecosystem and the native software ecosystem has a far more rigorous license compliance culture. All current browsers ship with many open source components, and provide very good examples for attribution.
“Attribution” here means that you reproduce the copyright and license notices of the involved components, as required by the individual licenses. Some licenses may have additional requirements, e.g. Apache-2.0 requires you to also show the contents of a NOTICE file to users if such a file exists.