in src/publish/common/publish.ts, we currently use the full-buffer version of the crypto API, which requires loading the whole file into memory. We've had user trouble in the past with this and large files (understandably).
TIL that Deno has an extension of the web crypto api through their standard library that provides AsyncIterable support for digest()