I segnali di allarme: bundle principale sopra 200kb (minificato e gzippato), TTI oltre 3 secondi su connessione 4G simulata, Lighthouse con warning su 'Reduce unused JavaScript'.
Il colpevole più frequente non sono le librerie grandi — sono le librerie piccole importate male. Importare `import _ from 'lodash'` invece di `import debounce from 'lodash/debounce'` aggiunge 70kb inutili.
Il secondo colpevole: dipendenze che fanno tree-shaking difficile. Prima di aggiungere una libreria, controllo il bundle size su bundlephobia.com. Se la libreria è > 20kb gzippata per una funzione che uso una volta, la implemento da zero.