@valleyforge they were caching .js files religiously in the past (provided the caching was enabled), but now the static assets are not so static anymore
There is a whole lot going on *bundlers* and *code splitting*. The browser doesn't usually obtain whole react.js but may obtain multiple .ja files usable for given part of a web application, so the caching rules are also more complex as a consequence. Just an example