* fix: set content-type on cached document
* fix: delete old content-types
* fix: avoid immutable headers
* test: content-type
* fix: do not destructure response
* test: serve from cache with vercel
* fix: inject cache marker into body
* fix: serviceworker request path
Always requests the app-shell from the same path as the cache key, in
order to guarantee that the etags will match should the cache be valid.
* fix: avoid returning redirects
* fix: always-fresh service worker cache
* chore: clarify service-worker
* fix: cache in CacheStorage
* feat: set __isDocumentCached
* add back in manifest precaching
* add unit tests (incomplete)
* test: simplify test env
* test: add service-worker cypress test
* test: service-worker document handler
* fix: CachedDocument ctor
* fix: Readable for ReadableStream in jest
* build: clean up module loading
* fix: rename commands->ethereum
* build: simplify package.json deps
* build: clean up cypress usage
* build: clean up yarn.lock
* build: record cypress runs
* build: disable chromeWebSecurity in cypress tests
* build: rm babel
* build: disable sw in ci cypress
* build: nits
* build: update workbox version
* chore: fix merge
* test: cache
* test: cypress-ify the before hook
* test: clear sw before each test
* fix: cy then
* test: cypress shenanigans
* style: lint
* chore: rm todo
* test: fail fast for service worker with dev builds
* docs: update contributing to tests
* fix: clean up tests after merge
- Add fast fail in case of dev server, which lacks ServiceWorker
* fix: inject ethereum
* test: service worker
* test: increase sw timeout
* test: sw state
* test: run cypress in chrome
* feat: add on-demand caching to improve sw startup time
* test: test dynamically
* fix: simplify cached doc
* fix: optional sw
* fix: expose response on cached doc
* fix: stub out sw req
* fix: intercept
Co-authored-by: Christine Legge <christine.legge@uniswap.org>