Why aren't you using Pages' root folder option? π€
Why aren't you using Pages' root folder option? 
cd site && npm ci && ...? If ~/.npm was cached, worst case I have to download a couple new dependencies even if my package-lock, etc. changespackage-lock.json would invalidate the cache key and mean the entire node_modules would be re-downloaded?~/.npm just seems like a better solution to me and also means that any post-install scripts still run. Let's say I have an npm package that doesn't change version between installs, but has a postinstall that runs and pulls updated geoip data or something every time. That's not that uncommon of a use-case.node_modules in its entirety and skipping the install step, that breaks that, vs caching ~/.npm and just running npm ci again which'll use that cache, run any normal hooks/scripts, and everything works as expected. You get the benefit of the cache, and any kinda of postinstall or other weird hooks/scripts run as expected.npm install step entirely seems like a bad idea node_modules here postinstall, etc. scripts, outside of just unnecessary re-downloads. Skipping the npm install (etc.) step is gonna break any workflow like that that relies on something running, and it's not uncommon for npm packages to do that kind of thing.node_modules bloat is fun. So many libraries end up publishing both build and source files, tests, docs, etc. inflating file size, and optimising output just isn't a priority wrangler and nothing else in a project for example gives me almost 100MB of node_modules 
cd site && npm ci stuff.29086095-4c4f-4c08-9f44-22e5756a7f4f.nvmrcv20 22:30:34.197 Uploading to dependency cache
22:30:34.254 Skipping build output cache as it's not supported for your projectcd site && npm ci29086095-4c4f-4c08-9f44-22e5756a7f4f.nvmrcv20