The summary.
VERSIONED FILENAMES ARE WHAT MAKE CACHING SAFE
Assets can then be cached indefinitely, and a change produces a new address.
GENERATE SOURCE MAPS, BUT DO NOT SERVE THEM PUBLICLY
Without them, production errors point at minified output.
BUILD CONFIGURATION NOBODY UNDERSTANDS IS A LIABILITY
Prefer tooling requiring little configuration, and ensure more than one person understands what exists.
EVERYTHING IN THE BUILD OUTPUT IS PUBLIC
Environment variables exposed to the browser must never contain secrets — which is exactly why the prefix requirement exists.
MEASURE BUNDLE COMPOSITION BEFORE OPTIMISING
You will find large dependencies included for one function.
Split by route, defer what is not needed initially, and automate a size limit that fails the build.
DO NOT ENABLE LINT RULES THAT ARE MATTERS OF TASTE
Warnings people ignore train them to ignore warnings. Do enable accessibility rules — they catch real failures automatically.
APPLY MAJOR DEPENDENCY UPGRADES ONE AT A TIME
Several at once makes failures impossible to attribute.