{"id":25719354,"url":"https://github.com/serhalp/netlify-cache-inspector","last_synced_at":"2026-06-20T09:31:10.070Z","repository":{"id":256967398,"uuid":"856965834","full_name":"serhalp/netlify-cache-inspector","owner":"serhalp","description":"Netlify cache inspector: inspect \u0026 compare cache headers for requests to Netlify sites","archived":false,"fork":false,"pushed_at":"2026-06-14T16:48:52.000Z","size":4685,"stargazers_count":2,"open_issues_count":12,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-14T17:17:34.372Z","etag":null,"topics":["http-cache","netlify"],"latest_commit_sha":null,"homepage":"https://cache-inspector.netlify.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serhalp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-09-13T14:45:50.000Z","updated_at":"2026-06-14T15:37:18.000Z","dependencies_parsed_at":"2024-10-31T19:20:42.295Z","dependency_job_id":"98778b91-9086-4d50-a42c-33ac533c85f0","html_url":"https://github.com/serhalp/netlify-cache-inspector","commit_stats":null,"previous_names":["serhalp/netlify-cache-inspector"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/serhalp/netlify-cache-inspector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serhalp%2Fnetlify-cache-inspector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serhalp%2Fnetlify-cache-inspector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serhalp%2Fnetlify-cache-inspector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serhalp%2Fnetlify-cache-inspector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serhalp","download_url":"https://codeload.github.com/serhalp/netlify-cache-inspector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serhalp%2Fnetlify-cache-inspector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34565238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["http-cache","netlify"],"created_at":"2025-02-25T16:51:50.563Z","updated_at":"2026-06-20T09:31:10.064Z","avatar_url":"https://github.com/serhalp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Netlify Cache Inspector\n\nA web app for inspecting and comparing caching behaviour on live Netlify sites.\n\nSubmit a URL and the app fetches it with Netlify's debug headers enabled, then displays a structured breakdown of the caching behavior: which cache layers were hit, cache-control directives, TTLs, and more. Run the same URL multiple times and compare results side-by-side with interactive hover-based diffing.\n\n![Screenshot of the Netlify Cache Inspector UI showing a comparison of two runs with cache status, cache-control directives, and more](./docs/screenshot.png)\n\n## Getting started\n\nRequires Node.js \u003e= 20 and pnpm (enable via `corepack enable`).\n\n```sh\npnpm install\npnpm run dev\n```\n\nThe dev server starts at http://localhost:3000 if port is 3000 is available.\n\n## How it works\n\n1. You enter a Netlify-hosted URL\n2. The server fetches it and extracts cache-relevant response headers\n3. Headers are parsed into a structured breakdown:\n   - **Cache status** per layer (edge, durable cache, origin frameworks)\n   - **Cache-control** directives with TTL calculations\n   - **Served-by** detection (CDN edge, durable cache, function, edge function)\n4. Results are persisted so runs can be shared via permalink\n\n## Deployment\n\nThis site deploys automatically to Netlify.\n\n## Tech stack\n\n- [Nuxt 5](https://nuxt.com) (Vue 3, file-based routing, server API routes)\n- [UnoCSS](https://unocss.dev) (utility CSS, dark mode, custom theme)\n- [Netlify Blobs](https://docs.netlify.com/blobs/overview/) (run persistence)\n- [Vitest](https://vitest.dev) + [Vue Test Utils](https://test-utils.vuejs.org) (testing)\n\n## Contributing\n\nYou are absolutely welcome to contribute!\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for development workflow, testing, and code conventions.\n\n## Architecture\n\nSee [ARCHITECTURE.md](./ARCHITECTURE.md) for project structure, data flow, and key design decisions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserhalp%2Fnetlify-cache-inspector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserhalp%2Fnetlify-cache-inspector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserhalp%2Fnetlify-cache-inspector/lists"}