{"_id":"@carr-james/collector-cache-extension","_rev":"7-6cb918aa5acb97f5133e2083884c7b13","name":"@carr-james/collector-cache-extension","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@carr-james/collector-cache-extension","version":"1.0.0","keywords":["antora","antora-extension","collector","cache","content-addressable"],"author":{"name":"James Carr"},"license":"MPL-2.0","_id":"@carr-james/collector-cache-extension@1.0.0","maintainers":[{"name":"carr-james","email":"jamescarr1993@gmail.com"}],"homepage":"https://github.com/j-a-carr/collector-cache-extension#readme","bugs":{"url":"https://github.com/j-a-carr/collector-cache-extension/issues"},"nyc":{"all":true,"include":["lib/**/*.js"],"cacheDir":"node_modules/.cache/nyc","reporter":["cobertura","lcov","text"],"reportDir":"reports"},"dist":{"shasum":"bd40f0bd7af568271d4c9bc5e84f076a5dbff9ec","tarball":"https://registry.npmjs.org/@carr-james/collector-cache-extension/-/collector-cache-extension-1.0.0.tgz","fileCount":10,"integrity":"sha512-8smX7Hdq1z93XR1UebMI8hkb3diR9k8TbXjfBci8ODyvlyEvKHSGp7/XUdi7B83ZUdBxlgShc0SFXdIXL1jvNg==","signatures":[{"sig":"MEUCIQDU52tnFyf/dmub8vMU9sZUWYOwaneezQqZ1FFXrnIAUwIgEd2XRQVD8EvyOBin6UirnhbtyDm2YOmmhcqFBKp7ccc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44143},"main":"lib/index.js","engines":{"node":">=16.0.0"},"exports":{".":"./lib/index.js","./collector-cache-extension":"./lib/collector-cache-extension.js"},"gitHead":"7c5f35b85358d6b879d4af617544ac1b343e6c83","imports":{"#package":"./package.json"},"scripts":{"lint":"eslint \"{lib,test,npm}/**/*.js\"","test":"_mocha","build":"npm test && npm run lint","format":"node npm/format.js lib,test,npm","coverage":"nyc _mocha","coverage-strict":"nyc --branches=100 --lines=100 _mocha"},"_npmUser":{"name":"carr-james","email":"jamescarr1993@gmail.com"},"repository":{"url":"git+https://github.com/j-a-carr/collector-cache-extension.git","type":"git"},"_npmVersion":"11.6.1","description":"Content-addressable caching extension for Antora Collector","directories":{},"_nodeVersion":"24.11.0","dependencies":{"fast-glob":"^3.3.0","isomorphic-git":"^1.35.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"~15.1","chai":"~4.3","mocha":"~10.8","eslint":"~8.33","chai-fs":"~2.0","chai-spies":"~1.0","dirty-chai":"~2.0","proxyquire":"^2.1.3","prettier-eslint":"~15.0","eslint-config-standard":"~17.0","@antora/content-aggregator":"~3.1"},"_npmOperationalInternal":{"tmp":"tmp/collector-cache-extension_1.0.0_1764772179760_0.21816752694219033","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@carr-james/collector-cache-extension","version":"1.0.1","keywords":["antora","antora-extension","collector","cache","content-addressable"],"author":{"name":"James Carr"},"license":"MPL-2.0","_id":"@carr-james/collector-cache-extension@1.0.1","maintainers":[{"name":"carr-james","email":"jamescarr1993@gmail.com"}],"homepage":"https://github.com/j-a-carr/collector-cache-extension#readme","bugs":{"url":"https://github.com/j-a-carr/collector-cache-extension/issues"},"nyc":{"all":true,"include":["lib/**/*.js"],"cacheDir":"node_modules/.cache/nyc","reporter":["cobertura","lcov","text"],"reportDir":"reports"},"dist":{"shasum":"a3c069718f2d43e29e6af4334449b2ca4bb84444","tarball":"https://registry.npmjs.org/@carr-james/collector-cache-extension/-/collector-cache-extension-1.0.1.tgz","fileCount":10,"integrity":"sha512-/R6qf3yc/Nwl8pNGRdXCcm6HKZdwyCWH7SDvXOqYQBoPGyThlapgXrA5d5rhhgT99GG/2+FPlAJvvC2jRDiH8Q==","signatures":[{"sig":"MEYCIQDTyKiVwqMrUvtQd918q//UUEEiFeetTrvvsj8ChrMrXgIhAJFggK2oZa7cJKWEclY88LKtt9PmBCckGYxyJU25ebKZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carr-james%2fcollector-cache-extension@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44228},"main":"lib/index.js","engines":{"node":">=18.0.0"},"exports":{".":"./lib/index.js","./collector-cache-extension":"./lib/collector-cache-extension.js"},"gitHead":"e128e998fc221ba50689955d9de044c6482a70a3","imports":{"#package":"./package.json"},"scripts":{"lint":"eslint \"{lib,test,npm}/**/*.js\"","test":"_mocha","build":"npm test && npm run lint","format":"node npm/format.js lib,test,npm","coverage":"nyc _mocha","coverage-strict":"nyc --branches=100 --lines=100 _mocha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f59d0e1-d7b5-4789-808b-33373f523b90"}},"repository":{"url":"git+https://github.com/j-a-carr/collector-cache-extension.git","type":"git"},"_npmVersion":"11.6.4","description":"Content-addressable caching extension for Antora Collector","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fast-glob":"^3.3.0","isomorphic-git":"^1.35.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"~15.1","chai":"~4.3","mocha":"~10.8","eslint":"~8.33","chai-fs":"~2.0","chai-spies":"~1.0","dirty-chai":"~2.0","proxyquire":"^2.1.3","prettier-eslint":"~15.0","eslint-config-standard":"~17.0","@antora/content-aggregator":"~3.1"},"_npmOperationalInternal":{"tmp":"tmp/collector-cache-extension_1.0.1_1764775381738_0.04531814451154026","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@carr-james/collector-cache-extension","version":"1.1.0","keywords":["antora","antora-extension","collector","cache","content-addressable"],"author":{"name":"James Carr"},"license":"MPL-2.0","_id":"@carr-james/collector-cache-extension@1.1.0","maintainers":[{"name":"carr-james","email":"jamescarr1993@gmail.com"}],"homepage":"https://github.com/j-a-carr/collector-cache-extension#readme","bugs":{"url":"https://github.com/j-a-carr/collector-cache-extension/issues"},"nyc":{"all":true,"include":["lib/**/*.js"],"cacheDir":"node_modules/.cache/nyc","reporter":["cobertura","lcov","text"],"reportDir":"reports"},"dist":{"shasum":"cb970e8f3ced11c868262d34ba148eeb62986f16","tarball":"https://registry.npmjs.org/@carr-james/collector-cache-extension/-/collector-cache-extension-1.1.0.tgz","fileCount":10,"integrity":"sha512-Y/qHwtvD3m7+2zBrKYwjUcOHfDn85VwOaVDUNONrSgq5wnBe/QjlHGzihyn5zJoqHnuSVExQIRm6I36mdlpHww==","signatures":[{"sig":"MEQCIFizVs10/crAx/6s6IYcw7CF+m0NTbA7AUmc6qHdPc5BAiBVuoMDqBnvKwr2z9iWmh9G5veWsm7DcxnBuBLXVpwRhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carr-james%2fcollector-cache-extension@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":45894},"main":"lib/index.js","engines":{"node":">=18.0.0"},"exports":{".":"./lib/index.js","./collector-cache-extension":"./lib/collector-cache-extension.js"},"gitHead":"d87531eb070256b2970a5a2b1c95d4335bb4d2ee","imports":{"#package":"./package.json"},"scripts":{"lint":"eslint \"{lib,test,npm}/**/*.js\"","test":"_mocha","build":"npm test && npm run lint","format":"node npm/format.js lib,test,npm","coverage":"nyc _mocha","coverage-strict":"nyc --branches=100 --lines=100 _mocha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f59d0e1-d7b5-4789-808b-33373f523b90"}},"repository":{"url":"git+https://github.com/j-a-carr/collector-cache-extension.git","type":"git"},"_npmVersion":"11.6.4","description":"Content-addressable caching extension for Antora Collector","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fast-glob":"^3.3.0","isomorphic-git":"^1.35.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"~15.1","chai":"~4.3","mocha":"~10.8","eslint":"~8.33","chai-fs":"~2.0","chai-spies":"~1.0","dirty-chai":"~2.0","proxyquire":"^2.1.3","prettier-eslint":"~15.0","eslint-config-standard":"~17.0","@antora/content-aggregator":"~3.1"},"_npmOperationalInternal":{"tmp":"tmp/collector-cache-extension_1.1.0_1764781864466_0.19247498814091624","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@carr-james/collector-cache-extension","version":"1.1.1","keywords":["antora","antora-extension","collector","cache","content-addressable"],"author":{"name":"James Carr"},"license":"MPL-2.0","_id":"@carr-james/collector-cache-extension@1.1.1","maintainers":[{"name":"carr-james","email":"jamescarr1993@gmail.com"}],"homepage":"https://github.com/j-a-carr/collector-cache-extension#readme","bugs":{"url":"https://github.com/j-a-carr/collector-cache-extension/issues"},"nyc":{"all":true,"include":["lib/**/*.js"],"cacheDir":"node_modules/.cache/nyc","reporter":["cobertura","lcov","text"],"reportDir":"reports"},"dist":{"shasum":"69eb5bc14a62714da63915a337475eaffe2ba7ab","tarball":"https://registry.npmjs.org/@carr-james/collector-cache-extension/-/collector-cache-extension-1.1.1.tgz","fileCount":10,"integrity":"sha512-unSGNGgeyk4TRJ0fT6z2G5m4fvopifCbMhGsz9dMZM3JsEm4ttWn8UZlcHARL9imJWU4gRuq9Tc9x1xcXK0yaQ==","signatures":[{"sig":"MEQCIGQD/MwSHySjnNS/GFxj98tE8NRdDtw5VUNi+Uz7K5TrAiAkNi4jekIRpIieAuVst2/h1n9PVDq/D3RbVPelouKv9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carr-james%2fcollector-cache-extension@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46249},"main":"lib/index.js","engines":{"node":">=18.0.0"},"exports":{".":"./lib/index.js","./collector-cache-extension":"./lib/collector-cache-extension.js"},"gitHead":"52fcf3f556cdea3c3d49cfa0ed0fc4fa2543248a","imports":{"#package":"./package.json"},"scripts":{"lint":"eslint \"{lib,test,npm}/**/*.js\"","test":"_mocha","build":"npm test && npm run lint","format":"node npm/format.js lib,test,npm","coverage":"nyc _mocha","coverage-strict":"nyc --branches=100 --lines=100 _mocha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f59d0e1-d7b5-4789-808b-33373f523b90"}},"repository":{"url":"git+https://github.com/j-a-carr/collector-cache-extension.git","type":"git"},"_npmVersion":"11.6.4","description":"Content-addressable caching extension for Antora Collector","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fast-glob":"^3.3.0","isomorphic-git":"^1.35.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"~15.1","chai":"~4.3","mocha":"~10.8","eslint":"~8.33","chai-fs":"~2.0","chai-spies":"~1.0","dirty-chai":"~2.0","proxyquire":"^2.1.3","prettier-eslint":"~15.0","eslint-config-standard":"~17.0","@antora/content-aggregator":"~3.1"},"_npmOperationalInternal":{"tmp":"tmp/collector-cache-extension_1.1.1_1764845416149_0.5878898414287794","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@carr-james/collector-cache-extension","version":"1.2.0","keywords":["antora","antora-extension","collector","cache","content-addressable"],"author":{"name":"James Carr"},"license":"MPL-2.0","_id":"@carr-james/collector-cache-extension@1.2.0","maintainers":[{"name":"carr-james","email":"jamescarr1993@gmail.com"}],"homepage":"https://github.com/j-a-carr/collector-cache-extension#readme","bugs":{"url":"https://github.com/j-a-carr/collector-cache-extension/issues"},"nyc":{"all":true,"include":["lib/**/*.js"],"cacheDir":"node_modules/.cache/nyc","reporter":["cobertura","lcov","text"],"reportDir":"reports"},"dist":{"shasum":"3194cce4494b3be31244b0cf844a90c6c8f61418","tarball":"https://registry.npmjs.org/@carr-james/collector-cache-extension/-/collector-cache-extension-1.2.0.tgz","fileCount":10,"integrity":"sha512-XMgEL+bfhI2GnbJv1k+E7IDJGqf7t02bUj+82XHf2NglQZBJa1vdW0/0uLVSz5bRNN3NF9htupw3F8aLILcaDw==","signatures":[{"sig":"MEQCIDLFoRRoluwDjMjA1XcoikmYVL7kvQjDfHo7BEvQ4Fp7AiB1GPeZCCj2EUCE3jI+XbPrJWY0EEqTp8X28TzO7AeVdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carr-james%2fcollector-cache-extension@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46835},"main":"lib/index.js","engines":{"node":">=18.0.0"},"exports":{".":"./lib/index.js","./collector-cache-extension":"./lib/collector-cache-extension.js"},"gitHead":"d32e175361e21cf440bbcdf482cc5e77d9d239c0","imports":{"#package":"./package.json"},"scripts":{"lint":"eslint \"{lib,test,npm}/**/*.js\"","test":"_mocha","build":"npm test && npm run lint","format":"node npm/format.js lib,test,npm","coverage":"nyc _mocha","coverage-strict":"nyc --branches=100 --lines=100 _mocha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f59d0e1-d7b5-4789-808b-33373f523b90"}},"repository":{"url":"git+https://github.com/j-a-carr/collector-cache-extension.git","type":"git"},"_npmVersion":"11.7.0","description":"Content-addressable caching extension for Antora Collector","directories":{},"_nodeVersion":"24.12.0","dependencies":{"fast-glob":"^3.3.0","isomorphic-git":"^1.35.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"~15.1","chai":"~4.3","mocha":"~10.8","eslint":"~8.33","chai-fs":"~2.0","chai-spies":"~1.0","dirty-chai":"~2.0","proxyquire":"^2.1.3","prettier-eslint":"~15.0","eslint-config-standard":"~17.0","@antora/content-aggregator":"~3.1"},"_npmOperationalInternal":{"tmp":"tmp/collector-cache-extension_1.2.0_1766055593669_0.8769518722611997","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@carr-james/collector-cache-extension","version":"1.2.1","keywords":["antora","antora-extension","collector","cache","content-addressable"],"author":{"name":"James Carr"},"license":"MPL-2.0","_id":"@carr-james/collector-cache-extension@1.2.1","maintainers":[{"name":"carr-james","email":"jamescarr1993@gmail.com"}],"homepage":"https://github.com/j-a-carr/collector-cache-extension#readme","bugs":{"url":"https://github.com/j-a-carr/collector-cache-extension/issues"},"nyc":{"all":true,"include":["lib/**/*.js"],"cacheDir":"node_modules/.cache/nyc","reporter":["cobertura","lcov","text"],"reportDir":"reports"},"dist":{"shasum":"81b79ac9a627ba3d4f464e4cc3e5b2bf082debbf","tarball":"https://registry.npmjs.org/@carr-james/collector-cache-extension/-/collector-cache-extension-1.2.1.tgz","fileCount":10,"integrity":"sha512-OvRowxAgj+GS0k6pPehJ+195BJjqRXB+s1RYK6ghLI7cNp7JHkYtuD9/BPXhdERxsNEQa2lUAoxU8xOhDsbzAg==","signatures":[{"sig":"MEYCIQCbHMU00TX/+8GKMQO2Cuph1QXh3kgDxJS1k9V5Ec3n2QIhAN1N6SDI43Lef+oe/1cCGK0pXwJOFvPiWx8N1KUOfFqK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carr-james%2fcollector-cache-extension@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46869},"main":"lib/index.js","engines":{"node":">=18.0.0"},"exports":{".":"./lib/index.js","./collector-cache-extension":"./lib/collector-cache-extension.js"},"gitHead":"443e74f3fb9cd52fa850a04b94c53418202f6f7c","imports":{"#package":"./package.json"},"scripts":{"lint":"eslint \"{lib,test,npm}/**/*.js\"","test":"_mocha","build":"npm test && npm run lint","format":"node npm/format.js lib,test,npm","coverage":"nyc _mocha","coverage-strict":"nyc --branches=100 --lines=100 _mocha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f59d0e1-d7b5-4789-808b-33373f523b90"}},"repository":{"url":"git+https://github.com/j-a-carr/collector-cache-extension.git","type":"git"},"_npmVersion":"11.7.0","description":"Content-addressable caching extension for Antora Collector","directories":{},"_nodeVersion":"24.12.0","dependencies":{"fast-glob":"^3.3.0","isomorphic-git":"^1.35.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"~15.1","chai":"~4.3","mocha":"~10.8","eslint":"~8.33","chai-fs":"~2.0","chai-spies":"~1.0","dirty-chai":"~2.0","proxyquire":"^2.1.3","prettier-eslint":"~15.0","eslint-config-standard":"~17.0","@antora/content-aggregator":"~3.1"},"_npmOperationalInternal":{"tmp":"tmp/collector-cache-extension_1.2.1_1766058003029_0.8733717074465799","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@carr-james/collector-cache-extension","version":"2.0.0","description":"Content-addressable caching extension for Antora Collector","license":"MPL-2.0","author":{"name":"James Carr"},"repository":{"type":"git","url":"git+https://github.com/j-a-carr/collector-cache-extension.git"},"bugs":{"url":"https://github.com/j-a-carr/collector-cache-extension/issues"},"engines":{"node":">=18.17.0"},"scripts":{"build":"npm test && npm run lint","coverage":"nyc _mocha","coverage-strict":"nyc --branches=100 --lines=100 _mocha","format":"node npm/format.js lib,test,npm","lint":"eslint \"{lib,test,npm}/**/*.js\"","test":"_mocha"},"main":"lib/index.js","exports":{".":"./lib/index.js","./collector-cache-extension":"./lib/collector-cache-extension.js"},"imports":{"#package":"./package.json"},"dependencies":{"fast-glob":"^3.3.0","isomorphic-git":"^1.35.0","picomatch":"^4.0.0"},"devDependencies":{"@antora/content-aggregator":"~3.1","chai":"~4.3","chai-fs":"~2.0","chai-spies":"~1.0","dirty-chai":"~2.0","eslint":"~8.33","eslint-config-standard":"~17.0","mocha":"~10.8","nyc":"~15.1","prettier-eslint":"~15.0","proxyquire":"^2.1.3"},"keywords":["antora","antora-extension","collector","cache","content-addressable"],"nyc":{"all":true,"cacheDir":"node_modules/.cache/nyc","include":["lib/**/*.js"],"reporter":["cobertura","lcov","text"],"reportDir":"reports"},"gitHead":"c83b2ca5540e8cdab04c1299210a9f21bcae8af9","_id":"@carr-james/collector-cache-extension@2.0.0","homepage":"https://github.com/j-a-carr/collector-cache-extension#readme","_nodeVersion":"24.12.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-UBMcgygd8PxYTzlKDyYrvbO6kL9QiCw9fsxYxs+5epoy0liLuk5NR6C7snWQ457H8M7xsFcJ9nV5t2kIatCOhg==","shasum":"a72936d943386edfa632cd2d1957fbf5d72db74f","tarball":"https://registry.npmjs.org/@carr-james/collector-cache-extension/-/collector-cache-extension-2.0.0.tgz","fileCount":12,"unpackedSize":60414,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carr-james%2fcollector-cache-extension@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDzTf5ORvUr/Ikfm/Cluo2CNS5sWzCfk+qLce+mAouJ7AIgdWNvVIrQVQr8aUifDSUdV5ZJH4C9chAoxkt1hqxCfEc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f59d0e1-d7b5-4789-808b-33373f523b90"}},"directories":{},"maintainers":[{"name":"carr-james","email":"jamescarr1993@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/collector-cache-extension_2.0.0_1768300961428_0.2503429091559046"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-03T14:29:39.638Z","modified":"2026-01-13T10:42:41.943Z","1.0.0":"2025-12-03T14:29:39.951Z","1.0.1":"2025-12-03T15:23:01.921Z","1.1.0":"2025-12-03T17:11:04.661Z","1.1.1":"2025-12-04T10:50:16.291Z","1.2.0":"2025-12-18T10:59:53.813Z","1.2.1":"2025-12-18T11:40:03.199Z","2.0.0":"2026-01-13T10:42:41.591Z"},"bugs":{"url":"https://github.com/j-a-carr/collector-cache-extension/issues"},"author":{"name":"James Carr"},"license":"MPL-2.0","homepage":"https://github.com/j-a-carr/collector-cache-extension#readme","keywords":["antora","antora-extension","collector","cache","content-addressable"],"repository":{"type":"git","url":"git+https://github.com/j-a-carr/collector-cache-extension.git"},"description":"Content-addressable caching extension for Antora Collector","maintainers":[{"name":"carr-james","email":"jamescarr1993@gmail.com"}],"readme":"# Collector Cache Extension for Antora\n\nContent-addressable caching extension for the Antora Collector Extension.\n\n## Overview\n\nThis extension provides content-addressable caching for collector commands.\nIt automatically deduplicates outputs when builds produce identical results, significantly speeding up builds.\n\nSee the [documentation](docs/getting-started.md) for detailed usage guides.\n\n## Installation\n\n```bash\nnpm install @carr-james/collector-cache-extension\n```\n\n## Usage\n\nRegister the extension in your Antora playbook:\n\n```yaml\nantora:\n  extensions:\n    - require: '@carr-james/collector-cache-extension'\n      # Optional: global hash transforms applied to all entries\n      hash_transforms:\n        - pattern: \"**/pom.xml\"\n          replace:\n            - regex: \"(<version>)[^<]+(</version>)\"\n              with: \"$1NORMALIZED$2\"\n```\n\nThen configure caching in your component descriptor (`antora.yml`):\n\n```yaml\next:\n  collector-cache:\n    - run:\n        key: firmware\n        sources:\n          - src/main.c\n          - include/**/*.h\n        cache-dir: build/output\n        command: make build\n      scan:\n        - dir: build/output/docs\n          files: '**/*.html'\n          into: modules/ROOT/pages/generated\n```\n\n## Configuration\n\nEach entry in `collector-cache` supports:\n\n### Run Configuration\n\n| Property | Description |\n|----------|-------------|\n| `run.key` | Unique identifier for this cache entry |\n| `run.sources` | Array of source file paths or glob patterns (e.g., `src/*.c`, `include/**/*.h`) |\n| `run.source-commands` | Optional shell commands that output additional source paths |\n| `run.cache-dir` | Directory where build outputs are stored |\n| `run.command` | The build command to execute |\n| `run.depends-on` | Optional array of other entry keys this depends on |\n| `run.restore-to-worktree` | Optional glob patterns for files to restore from cache to worktree |\n| `run.hash-transforms` | Optional transforms to normalize file content before hashing (see [Hash Transforms](docs/advanced.md#hash-transforms)) |\n| `run.hash-transforms-mode` | How entry transforms interact with global transforms (`extend`, `replace`, `ignore`) |\n\n### Scan Configuration\n\nThe `scan` property defines how outputs are scanned into Antora. It can be a single entry or an array:\n\n| Property | Description |\n|----------|-------------|\n| `scan.dir` | Source directory containing generated files |\n| `scan.files` | Glob pattern for files to include |\n| `scan.into` | Destination path within the Antora component |\n\n## Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `DRY_RUN=true` | Exit after cache check without running builds |\n| `FORCE_COLLECTOR=true` | Force cache miss and rebuild |\n\n## Development\n\n### Prerequisites\n\n* Node.js >= 18.17.0\n* npm\n\n### Setup\n\n```bash\nnpm install\n```\n\n### Running Tests\n\n```bash\nnpm test\n```\n\n### Running Linter\n\n```bash\nnpm run lint\n```\n\n### Code Coverage\n\n```bash\nnpm run coverage\n```\n","readmeFilename":"README.md"}