{"_id":"@agrodt/astro-redis-cache-provider","_rev":"4-998524bce2e6f8c8798c6e2558ae4c30","name":"@agrodt/astro-redis-cache-provider","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.1":{"name":"@agrodt/astro-redis-cache-provider","version":"0.0.1","keywords":["oidc","trusted-publishing","setup"],"_id":"@agrodt/astro-redis-cache-provider@0.0.1","maintainers":[{"name":"mentaljam","email":"petr@tsymbarovich.ru"},{"name":"ponomar","email":"ponomarenkoboris146@gmail.com"}],"dist":{"shasum":"2679eaae8cc16ef7a62706f1e0ff0007705ef358","tarball":"https://registry.npmjs.org/@agrodt/astro-redis-cache-provider/-/astro-redis-cache-provider-0.0.1.tgz","fileCount":2,"integrity":"sha512-aMfM3A8urshB0uIEv4lw9cZrzFQ4HAG5V/Jtr1LdH6lF/PJBJ9wYSviTg6PrmQPw2adkmqkMX0253aDwwKqBXw==","signatures":[{"sig":"MEUCIQD5+7Qkpk+kjqzJH1Ojle8zXYYQm9wLL51MuOG4OHUwWQIgVjGIgD15nK/psBOZPO9NGN1tFCGW3o7UzH2uDT7Q/24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2099},"_npmUser":{"name":"mentaljam","email":"petr@tsymbarovich.ru"},"_npmVersion":"11.12.1","description":"OIDC trusted publishing setup package for @agrodt/astro-redis-cache-provider","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/astro-redis-cache-provider_0.0.1_1775834194822_0.15562890164328103","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@agrodt/astro-redis-cache-provider","version":"0.1.0","keywords":["astro","cache","redis","route-caching"],"author":{"name":"Petr Tsymbarovich","email":"petr@tsymbarovich.ru"},"license":"MIT","_id":"@agrodt/astro-redis-cache-provider@0.1.0","maintainers":[{"name":"mentaljam","email":"petr@tsymbarovich.ru"},{"name":"ponomar","email":"ponomarenkoboris146@gmail.com"}],"homepage":"https://github.com/AgroDT/astro-redis-cache-provider","bugs":{"url":"https://github.com/AgroDT/astro-redis-cache-provider/issues"},"dist":{"shasum":"7c51a0933687ce96e59b519fb2f1f6a0db8adccc","tarball":"https://registry.npmjs.org/@agrodt/astro-redis-cache-provider/-/astro-redis-cache-provider-0.1.0.tgz","fileCount":15,"integrity":"sha512-qEmRvxwCM8pKOIclW3kTzhH+W6RH6s9V7DvJQ8xWI17hlP73VaPzTl9dhYPC1vk26695BRgqwsQuXNvHhmqwSA==","signatures":[{"sig":"MEQCIASNl+Pa2/IfJ9Osj0+t4BHG29ZaLIwghJ9hHzbAFHJ9AiAZE9v5OIhL4aQjWFvrk1CBINwmbYt9DaScdF8YLkutNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agrodt%2fastro-redis-cache-provider@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52232},"main":"./dist/runtime.js","type":"module","_from":"file:agrodt-astro-redis-cache-provider-0.1.0.tgz","types":"./dist/runtime.d.ts","exports":{".":{"types":"./dist/runtime.d.ts","default":"./dist/runtime.js"},"./config":{"types":"./dist/config.d.ts","default":"./dist/config.js"},"./runtime":{"types":"./dist/runtime.d.ts","default":"./dist/runtime.js"},"./package.json":"./package.json"},"scripts":{"lint":"biome lint","test":"node --experimental-test-coverage --test dist/*.test.js","build":"tsgo -p tsconfig.json","check":"tsgo -p tsconfig.json --noEmit","format":"biome format","pretest":"pnpm run build","lint:fix":"biome lint --fix","docs:build":"pnpm dlx --package typedoc-github-theme typedoc --plugin typedoc-github-theme","format:fix":"biome format --fix","generate:schemas":"pnpx bebop-tools build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bcfdb8ae-2248-4bd9-85b4-54a6fbb35d43"}},"_resolved":"/tmp/f8d101f8343c4162c24fc724c2ba05b5/agrodt-astro-redis-cache-provider-0.1.0.tgz","_integrity":"sha512-qEmRvxwCM8pKOIclW3kTzhH+W6RH6s9V7DvJQ8xWI17hlP73VaPzTl9dhYPC1vk26695BRgqwsQuXNvHhmqwSA==","repository":{"url":"git+https://github.com/AgroDT/astro-redis-cache-provider.git","type":"git"},"_npmVersion":"11.12.1","description":"Redis cache provider for Astro route caching using node-redis.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"bebop":"^3.2.3","redis":"^5.11.0","picomatch":"^4.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"astro":"^6.1.5","@types/node":"^25.6.0","@biomejs/biome":"^2.4.11","@types/picomatch":"^4.0.3","@typescript/native-preview":"7.0.0-dev.20260410.1"},"peerDependencies":{"astro":"^6.1"},"_npmOperationalInternal":{"tmp":"tmp/astro-redis-cache-provider_0.1.0_1775835851430_0.20798421651388987","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agrodt/astro-redis-cache-provider","version":"0.1.1","keywords":["astro","cache","redis","route-caching"],"author":{"name":"Petr Tsymbarovich","email":"petr@tsymbarovich.ru"},"license":"MIT","_id":"@agrodt/astro-redis-cache-provider@0.1.1","maintainers":[{"name":"mentaljam","email":"petr@tsymbarovich.ru"},{"name":"ponomar","email":"ponomarenkoboris146@gmail.com"}],"homepage":"https://github.com/AgroDT/astro-redis-cache-provider","bugs":{"url":"https://github.com/AgroDT/astro-redis-cache-provider/issues"},"dist":{"shasum":"667f07586274e57ef7e7d086c165b27994ea38a4","tarball":"https://registry.npmjs.org/@agrodt/astro-redis-cache-provider/-/astro-redis-cache-provider-0.1.1.tgz","fileCount":18,"integrity":"sha512-EFFQ2+73UAsWxcsOKdKKfw1W7Cfq0AOXiAmVMKC+5OUqEmWCxHTE8ye592imcEoVtZ1Mx+YITHbql1ue9stKkw==","signatures":[{"sig":"MEQCIFX3XuXfM1GLd2ZtxjO/rV4pTijSyUwV3TXdzL0G9AzTAiBfWawFawhPQnMVhz7iZE3ulV2j16+NDhJkLJIa6kArUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agrodt%2fastro-redis-cache-provider@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75877},"main":"./dist/runtime.js","type":"module","_from":"file:agrodt-astro-redis-cache-provider-0.1.1.tgz","types":"./dist/runtime.d.ts","exports":{".":{"types":"./dist/runtime.d.ts","default":"./dist/runtime.js"},"./config":{"types":"./dist/config.d.ts","default":"./dist/config.js"},"./runtime":{"types":"./dist/runtime.d.ts","default":"./dist/runtime.js"},"./package.json":"./package.json"},"scripts":{"lint":"biome lint","test":"node --experimental-test-coverage --test dist/*.test.js","build":"tsgo -p tsconfig.json","check":"tsgo -p tsconfig.json --noEmit","format":"biome format","pretest":"pnpm run build","lint:fix":"biome lint --fix","docs:build":"pnpm dlx --package typedoc-github-theme typedoc --plugin typedoc-github-theme","format:fix":"biome format --fix","generate:schemas":"pnpx bebop-tools build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bcfdb8ae-2248-4bd9-85b4-54a6fbb35d43"}},"_resolved":"/tmp/d6cee55a2d5c8c3d4ace2b28a39d0fd9/agrodt-astro-redis-cache-provider-0.1.1.tgz","_integrity":"sha512-EFFQ2+73UAsWxcsOKdKKfw1W7Cfq0AOXiAmVMKC+5OUqEmWCxHTE8ye592imcEoVtZ1Mx+YITHbql1ue9stKkw==","repository":{"url":"git+https://github.com/AgroDT/astro-redis-cache-provider.git","type":"git"},"_npmVersion":"11.12.1","description":"Redis cache provider for Astro route caching using node-redis.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"bebop":"^3.2.3","redis":"^5.11.0","picomatch":"^4.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"astro":"^6.1.5","@types/node":"^25.6.0","@biomejs/biome":"^2.4.11","@types/picomatch":"^4.0.3","@typescript/native-preview":"7.0.0-dev.20260410.1"},"peerDependencies":{"astro":"^6.1"},"_npmOperationalInternal":{"tmp":"tmp/astro-redis-cache-provider_0.1.1_1775859025512_0.3762059920172567","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agrodt/astro-redis-cache-provider","version":"0.2.0","description":"Redis cache provider for Astro route caching using node-redis.","keywords":["astro","cache","redis","route-caching"],"license":"MIT","author":"Petr Tsymbarovich <petr@tsymbarovich.ru>","repository":{"type":"git","url":"git+https://github.com/AgroDT/astro-redis-cache-provider.git"},"bugs":{"url":"https://github.com/AgroDT/astro-redis-cache-provider/issues"},"homepage":"https://github.com/AgroDT/astro-redis-cache-provider","type":"module","main":"./dist/runtime.js","types":"./dist/runtime.d.ts","exports":{".":{"types":"./dist/runtime.d.ts","default":"./dist/runtime.js"},"./runtime":{"types":"./dist/runtime.d.ts","default":"./dist/runtime.js"},"./config":{"types":"./dist/config.d.ts","default":"./dist/config.js"},"./package.json":"./package.json"},"dependencies":{"bebop":"^3.2.3","picomatch":"^4.0.7","redis":"^6.2.1"},"devDependencies":{"@biomejs/biome":"^2.5.13","@types/node":"^26.5.1","@types/picomatch":"^4.0.3","astro":"^7.3.2","typescript":"7.0.2"},"peerDependencies":{"astro":"^7.3"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","docs:build":"pnpm dlx --package typedoc-github-theme typedoc --plugin typedoc-github-theme","format":"biome format","format:fix":"biome format --fix","generate:schemas":"pnpx bebop-tools build","lint":"biome lint","lint:fix":"biome lint --fix","pretest":"pnpm run build","test":"node --experimental-test-coverage --test dist/*.test.js"},"_id":"@agrodt/astro-redis-cache-provider@0.2.0","dist":{"integrity":"sha512-Yh5BUvz+Z9ro18btselJ3ReEeQixj8xmC7rw5gSaW7eRckN5JqB3iBsSUZu3LZLotg7OE41E2ZqvDgnXSVK1iw==","shasum":"ed40c06559282677d8ecdc7a7a36c8de3147591c","tarball":"https://registry.npmjs.org/@agrodt/astro-redis-cache-provider/-/astro-redis-cache-provider-0.2.0.tgz","fileCount":18,"unpackedSize":77584,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agrodt%2fastro-redis-cache-provider@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDM+T/iT93hAX6Zuywm0C8EHbAERPGb7GF0uov/SIiSHQIgLDANRSeu+5Zus+Ts4Mbw/ozNVyNjmK9vZdmIljhpPOc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bcfdb8ae-2248-4bd9-85b4-54a6fbb35d43"}},"directories":{},"maintainers":[{"name":"mentaljam","email":"petr@tsymbarovich.ru"},{"name":"ponomar","email":"ponomarenkoboris146@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/astro-redis-cache-provider_0.2.0_1789400266707_0.7600655844588593"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T15:16:34.681Z","modified":"2026-09-14T15:37:47.221Z","0.0.1":"2026-04-10T15:16:34.955Z","0.1.0":"2026-04-10T15:44:12.193Z","0.1.1":"2026-04-10T22:10:25.657Z","0.2.0":"2026-09-14T15:37:46.848Z"},"bugs":{"url":"https://github.com/AgroDT/astro-redis-cache-provider/issues"},"author":"Petr Tsymbarovich <petr@tsymbarovich.ru>","license":"MIT","homepage":"https://github.com/AgroDT/astro-redis-cache-provider","keywords":["astro","cache","redis","route-caching"],"repository":{"type":"git","url":"git+https://github.com/AgroDT/astro-redis-cache-provider.git"},"description":"Redis cache provider for Astro route caching using node-redis.","maintainers":[{"name":"mentaljam","email":"petr@tsymbarovich.ru"},{"name":"ponomar","email":"ponomarenkoboris146@gmail.com"}],"readme":"# @agrodt/astro-redis-cache-provider\n\n[![CI](https://github.com/AgroDT/astro-redis-cache-provider/actions/workflows/ci.yml/badge.svg)](https://github.com/AgroDT/astro-redis-cache-provider/actions/workflows/ci.yml)\n[![Coverage Status](https://coveralls.io/repos/github/AgroDT/astro-redis-cache-provider/badge.svg?branch=main)](https://coveralls.io/github/AgroDT/astro-redis-cache-provider?branch=main)\n[![npm version](https://img.shields.io/npm/v/@agrodt/astro-redis-cache-provider.svg)](https://www.npmjs.com/package/@agrodt/astro-redis-cache-provider)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n[![npm downloads](https://img.shields.io/npm/dm/@agrodt/astro-redis-cache-provider.svg)](https://www.npmjs.com/package/@agrodt/astro-redis-cache-provider)\n\nCustom Redis cache provider for Astro route caching,\npowered by [`node-redis`](https://github.com/redis/node-redis).\n\n> [!CAUTION]\n> **Disclaimer:** This project is 102% generated by an LLM. The author assumes\n> absolutely no responsibility for any consequences of using it - especially,\n> but not limited to, the mysterious harm that may befall nearby kittens once\n> you deploy this in production. Proceed at your own risk!\n\n## Install\n\n```bash\npnpm add @agrodt/astro-redis-cache-provider\n```\n\n`node-redis` already comes as a dependency of this package. You only need\na reachable Redis server and Astro 7.3 or later within Astro 7.\n\n## Usage\n\n```ts\n// astro.config.mjs\nimport { defineConfig } from \"astro/config\";\nimport { redisCache } from \"@agrodt/astro-redis-cache-provider/config\";\n\nexport default defineConfig({\n  cache: {\n    provider: redisCache({\n      url: () => process.env.REDIS_URL,\n      keyPrefix: \"astro:cache\",\n    }),\n  },\n});\n```\n\n## Upgrading from Astro 6\n\nMove `experimental.cache` to the top-level `cache` option. This provider uses\nAstro's public `astro/cache/provider-utils` helpers for response headers and\npath/tag invalidation. URL normalization, response serialization, `Vary`, and\nbackground revalidation remain provider-owned because Astro does not export\nruntime helpers for them.\n\nRedis keys now use the `v2` namespace: paths are indexed using Astro's\n`astro-path:` tags. Existing `v1` entries are not reused, so the cache starts\ncold after upgrading. Old entries and indexes expire according to their TTL;\nold `v1:vary:*` metadata has no TTL and may be removed separately.\nThe `astro-path:` tag prefix is reserved for path invalidation.\n\n## Options\n\n```ts\ntype RedisCacheProviderOptions = {\n  url?: string | (() => string | undefined);\n  keyPrefix?: string;\n  revalidateLockTtl?: number;\n  ignoredVaryHeaders?: Iterable<string>;\n  query?: {\n    include?: string[];\n    exclude?: string[];\n    sort?: boolean;\n  };\n};\n```\n\n- `url`: Redis URL string or runtime factory (`() => string | undefined`),\n  for example `redis://localhost:6379` or `() => process.env.REDIS_URL`.\n- `keyPrefix`: Prefix for all Redis keys. Default: `astro:cache`.\n- `revalidateLockTtl`: Lock lifetime in seconds for stale background\n  revalidation. Default: `30`.\n- `ignoredVaryHeaders`: Additional `Vary` headers to ignore during cache\n  matching (for example `[\"cookie\"]`). `set-cookie` is always ignored.\n- `query`: Same query normalization semantics as Astro memory provider\n  (`include`/`exclude` are mutually exclusive).\n\n## Example\n\nSee [example](./example/README.md) for a runnable Astro app that\ndemonstrates `MISS`/`HIT` behavior and manual invalidation.\n","readmeFilename":""}