{"_id":"dry-aged-deps","_rev":"73-afccf1a06515dd013d0db8726ff2a277","name":"dry-aged-deps","dist-tags":{"latest":"2.17.1"},"versions":{"0.2.0":{"name":"dry-aged-deps","version":"0.2.0","license":"MIT","_id":"dry-aged-deps@0.2.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"49efa73e1bdc92e8559155fda39ae0f5a7c5144f","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-0.2.0.tgz","fileCount":61,"integrity":"sha512-6CmsMNGpyI2WznRyO2kGKqv6lx8pZnj8aHvRwWb3CqEf2CFRsjhoqiafJ7yw301Hg9rjmQZMsOHeT0QCu2GLlA==","signatures":[{"sig":"MEQCIBjDspqhqJn7YabeMSbhHG6OkNh307FDAAzJO042CUCsAiAyyeIWpsKeauXg3cc2RYoEOnw5hzpDCMfRmDMziuD7KA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":363659},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"b456312f0fcebeac225e9f0e45e34cb31baab17b","scripts":{"lint":"eslint . --ext .js,.cjs","test":"vitest --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"_npmVersion":"10.9.4","description":"[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_0.2.0_1762588753711_0.6688957105479736","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"dry-aged-deps","version":"0.4.8","license":"MIT","_id":"dry-aged-deps@0.4.8","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"da52863a12b9f84b33411eccbd9970d3f2258c24","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-0.4.8.tgz","fileCount":57,"integrity":"sha512-vOdpxTFShBInKVhVVUDEnL3GBfm/msOQ5BReVNdBQOXb3A1fkC84Ss0ZJkCrj2wNnza/QWxyqU+vOL1BpQW6UA==","signatures":[{"sig":"MEQCIC5L+QuPQSrQ+CwnsoiQ8u8ooOY2M4NGoHh+tIfwYfDdAiB8ZQTYgvMI5tzkCaH/Q/1Dw3dXwnDXVyysFv6vpgcDKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@0.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":351526},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"ad4a9682414ae276e053a98a047c5dab81a3c1b8","scripts":{"lint":"eslint . --ext .js,.cjs","test":"vitest --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.6.2","description":"[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^13.1.1","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_0.4.8_1762638856729_0.36340084089591906","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"dry-aged-deps","version":"0.5.0","license":"MIT","_id":"dry-aged-deps@0.5.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"b68d6f53810c4ed3d0bd5e299751a62e80d1367b","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-0.5.0.tgz","fileCount":62,"integrity":"sha512-zPpqWtQG/a6ZRClQFBYlpAIrxcvB3BpHhM5benmUop2eNxOg/0/RIr6IRcqf/CokZQmzT+URY9FGBM/zbLGUeQ==","signatures":[{"sig":"MEUCIQCu3Ypr3Zg+Q/Ja7uOpKRwrOizfWzQfd4+D95y85tEhIgIgeU4hcAbOcF+NBMsZI7iMuTLW9u83+pQEKXxbZfqvNks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":394780},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"03b45e21d625645d0fc80874d7f3e26981e17619","scripts":{"lint":"eslint . --ext .js,.cjs","test":"vitest --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_0.5.0_1762718354828_0.7359047512554571","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"dry-aged-deps","version":"0.6.0","license":"MIT","_id":"dry-aged-deps@0.6.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"6189c1d97641a524466b16ac0e1c90a7251c015e","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-0.6.0.tgz","fileCount":62,"integrity":"sha512-0rtnGisf/Ai+k8is7E39ChE+NzDL9gBlvwpLUzpM/cSeTDceVgw7Q0pAkEy9JwwiBNVbPU6envzrGOrVayxIAQ==","signatures":[{"sig":"MEQCIFP4H+fbotbik1xyYiANSgA5UjYEjYfk83zeZL/P0nPmAiBjoPi0Q2OHwiHVI/aAmdPQ/yL5qhlZEc4kuk3XYb6hkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":394780},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"484d4c3c3ac84eef8649ef55d1c3c37731604622","scripts":{"lint":"eslint . --ext .js,.cjs","test":"vitest --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_0.6.0_1762719575935_0.6498002809452355","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"dry-aged-deps","version":"0.7.0","license":"MIT","_id":"dry-aged-deps@0.7.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"4bdefc1250b1891942d6f74f7d163b3f0adf37a9","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-0.7.0.tgz","fileCount":66,"integrity":"sha512-HJIoNeSaNMtGOsoOR0vM+8DZD1ElHtSUa0JH+XpE+Powyjq+65GQfI4YkBjethtAuGS+0g1Cm02D6CUhwU7ElA==","signatures":[{"sig":"MEQCICy2IuL0V4mCNkkPJr/EyCG3npYbKfnIeJqG8fIgKgcXAiBGADvgIDSHG499Y5sd5AspqUhz9aBcRGIO6lb6BA3NLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":383593},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"89859c9008cba46b139eb22af53ff0d485ae3875","scripts":{"lint":"eslint . --ext .js,.cjs","test":"vitest --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_0.7.0_1762726436269_0.6850242999204517","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"dry-aged-deps","version":"0.8.0","license":"MIT","_id":"dry-aged-deps@0.8.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"081979ef6d2ca5d6c9b202fc66fe9d6d1dc19a7e","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-0.8.0.tgz","fileCount":81,"integrity":"sha512-Q9/5FRKAuzLMQzIAZpj0zdsP7mxisQJzLFgIXwPpG5Cv+XkCD6pn6rRuQBdx25GrOIEtQSBnxm7ArdRruXSC+A==","signatures":[{"sig":"MEUCIQC6znOUBmc8lJCgRIlkWYBtMfiCj7j1JKR/jsHDQfC0rwIgXCq9LIcqyWIaRIA1Pk887Ef3VdlvnGhHjlK0NllhM+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":401618},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"f1ab92ef88a460189535a4f44ebe01066ddbd9b2","scripts":{"lint":"eslint . --ext .js,.cjs","test":"vitest --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_0.8.0_1762735076183_0.71330393531791","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"dry-aged-deps","version":"0.9.0","license":"MIT","_id":"dry-aged-deps@0.9.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"8cc7d16585af7bf221d877c22edca0b800727847","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-0.9.0.tgz","fileCount":84,"integrity":"sha512-4fN1aDz8BCruEDgsv9iC6gubX1lWlw3GPuNA4M+DwNCQJD9lW6832swou4r+COYRARqIi7qwzpDe/D7z597qSw==","signatures":[{"sig":"MEUCIF5fC0K04USDRXKTtGvo4ptR8+U/GUsBADr6iOCY5tvLAiEAjHCk3nEuqFoQBmGqxMpoyvFCiMYGx84Ql0ct1HJsWYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":416507},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"e6ef023e742028662126b79daf6532a6b08dae77","scripts":{"lint":"eslint . --ext .js,.cjs","test":"vitest --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_0.9.0_1762738594779_0.026421983758218026","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"dry-aged-deps","version":"1.0.0","license":"MIT","_id":"dry-aged-deps@1.0.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"bc0aa7f09a50b8cd485c08a82e2a67e9bad7a5ab","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.0.0.tgz","fileCount":87,"integrity":"sha512-Q4QBk1ESVTr+nXMH+cDs3D+c4Y5ZAUsLDiZ8JgvhXlrIX2FcdhcBgJos7dVCMnvwHUlCSazabVCi6l1YzEGS9w==","signatures":[{"sig":"MEQCIC4gpPLX9H7RavZi1VA+0nI4ERWrt38CpdpkIYQaPrBpAiAaGAAaEzlLjQg9rZx1K3g73Of0l6a7cT78F41lqPf/8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":448947},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"cea6e400a78c1bc729c93cc45f1d759540058804","scripts":{"lint":"eslint src bin test --ext .js,.cjs","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.0.0_1762768958468_0.43462668407325733","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"dry-aged-deps","version":"1.1.0","license":"MIT","_id":"dry-aged-deps@1.1.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"4fe22ce1d05ed28884a51d17ab0c29d7b98d276a","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.1.0.tgz","fileCount":87,"integrity":"sha512-cHoxnqh1ZtLF+3wwWmMWME6c/nL6iKsVE0dzOS5D6f1FIHFkSEHTBdl0GQVA0SS1BkumvLzdDzuNiteiaRQANA==","signatures":[{"sig":"MEUCIBqVtEeKzNL7+7UZS7f2HNU3lgyjwn/cz+2G2MXWXJUyAiEA9DCBaDjvyeadRmWfErQeiaDTNScBOruUMW4V2IMMKws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":425902},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"902ebb51a813fb2d621f07c2ac9a49935151ccd8","scripts":{"lint":"eslint src bin test --ext .js,.cjs","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.1.0_1762773632127_0.6237447830453666","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"dry-aged-deps","version":"1.2.0","license":"MIT","_id":"dry-aged-deps@1.2.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"1534cc5ac397a9a6b56b3a96c49dedf52bf2cd9c","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.2.0.tgz","fileCount":94,"integrity":"sha512-bLUm8Ec4zxtJGyItp5L/OuVA0LnzlGzBrVZWzsV8aqALic6tMXq5BzUSZEQCz6HrfhiNAWQRTGON1TxJWhXxyw==","signatures":[{"sig":"MEQCIFsG2TQwt58+pbKw17nx+xqTu2yyV7qXveMb5m6UDbEHAiA92dO9jjb0Z/fy080LcBvSsu10jZ9+T7/5Rkyy1n9BYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":448997},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"0d5d5d1b0fdf446375e24edb335a20cd98635be2","scripts":{"lint":"eslint src bin test --ext .js,.cjs","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.2.0_1762802573316_0.757334732573913","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"dry-aged-deps","version":"1.3.0","license":"MIT","_id":"dry-aged-deps@1.3.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"f4beb6549ac6860d77d0e27a58127fa5041645ba","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.3.0.tgz","fileCount":99,"integrity":"sha512-a9tRPiEsscVLeZx72Hf75LRdIj+r7EjjbyC842tx6fLNEZYfUSX4HNzv74w1QCqLaAtO6QC0EJx8/fakq0PEgg==","signatures":[{"sig":"MEQCIEF+ukl/9p1WRlYbrP4yYesLZv0tGtjM4DXA+JlRdnIwAiAD/YD5HsmEEjMzYutkFp7Z3914SVQUm6RxLHsorKEG9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":463463},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"146f2f4f516cc40e9c025f1ec0afa10aafff08f6","scripts":{"lint":"eslint src bin test --ext .js,.cjs","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.3.0_1762810968461_0.06739846193624066","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"dry-aged-deps","version":"1.3.1","license":"MIT","_id":"dry-aged-deps@1.3.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"0fe179bcdc7820799f3b869a2ba752c6e3d3f75e","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.3.1.tgz","fileCount":106,"integrity":"sha512-eOIwFFOO80L164QHlyNjMw9MSxXhWHgdC2Tord4hrlYfFistT+dVyUmbfOiHNwomR9NBofzLqxt3CkkBFEiVRQ==","signatures":[{"sig":"MEYCIQCic67M/YWm5tqDZ92J1/B6y/3YyUmhsk5XjnvqJJuj1AIhAL+z+Npvscqo76qSLk8tIOCYDHmYaYJi313d4MZdDMql","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":567446},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"9578e858c8fbfba94ba889ffe375bb6aada69a5d","scripts":{"lint":"eslint src bin test --ext .js,.cjs","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.7","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.7","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.3.1_1762850216477_0.777812450369376","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"dry-aged-deps","version":"1.3.2","license":"MIT","_id":"dry-aged-deps@1.3.2","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"c9026b6f7201bbe4dc56493ef716c4024a2c8dcd","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.3.2.tgz","fileCount":115,"integrity":"sha512-BWjwAGvYh4YH5XWEUmXwRBBFW3xo/xQLAkvVzQ0SRezNfPLpTbnRq6Kh36s58O23b3Ywca90PIO5if75kwcN0A==","signatures":[{"sig":"MEUCIAEmhCWxd+oZG2w/y8Wtgzt9dxax2eXBjGR2E9/4XmVhAiEAx6J64LvLZ0hgiXoe/Fsrg2CMUUFIdTVrX+/DPasGri4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":558488},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3f5a59567359394c36d11f5486421c5cb82c68fd","scripts":{"lint":"eslint src bin test --ext .js,.cjs --max-warnings=0","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.8","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.8","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.3.2_1762942682886_0.8697692815046036","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"dry-aged-deps","version":"1.4.0","license":"MIT","_id":"dry-aged-deps@1.4.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"bea0afe5b3c28e1dd860afdde2177cc6f8651b91","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.4.0.tgz","fileCount":118,"integrity":"sha512-slCojD63gx5hZGzPj2It3vMOnyTZzzk0RnqHTUZ7rmKDtEbpN8xmoG0Ptwfe4bem/4EMmOT61Re2wjWSbNrfiA==","signatures":[{"sig":"MEYCIQC/ULwIkrRjkDBx698yuuQi50Btk5jy7/O2PFC9uFD51QIhALqwhqthdbYZCHE0jH6IRBkdBGoncpEUxydpL3x1GYZE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":571858},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"00812403de3fea1335ae3c3587b7c64e5737d8c0","scripts":{"lint":"eslint src bin --ext .js --ext .cjs --max-warnings=0","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.8","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.8","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.4.0_1762953185679_0.7660247123746644","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"dry-aged-deps","version":"1.5.0","license":"MIT","_id":"dry-aged-deps@1.5.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"c08ddcbea9e6dc4dd0254ed28b669250526fc4ee","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.5.0.tgz","fileCount":120,"integrity":"sha512-Kv6ww9/PXCut61U4kFjc9ap+eTh+dcOLpE8g5qL9wx0JPPcXWA0hSOn1xwDPNeV86AyRbfP4IdPGpBIcWAqVrQ==","signatures":[{"sig":"MEUCIFyLzqa4/8FvSbTrOp0Y12vTkTGwiTLUM9vdhCsXXrlEAiEA76EjCWtIf47QCKtnEjY4sBzLPCh5l8D6pWQodvX7Y4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":594649},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"83d3096c1107b9955a86b83b03bff750974b28ca","scripts":{"lint":"eslint src bin --ext .js --ext .cjs --max-warnings=0","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"^9.1.7","eslint":"9.39.1","vitest":"4.0.8","globals":"^16.5.0","prettier":"^3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@commitlint/cli":"^20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"^24.2.9","@vitest/coverage-v8":"4.0.8","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"^12.0.1","@commitlint/config-conventional":"^20.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.5.0_1762962137402_0.3679308209151031","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"dry-aged-deps","version":"1.6.0","license":"MIT","_id":"dry-aged-deps@1.6.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"403568fbdce808684c587e5a7608645fe53fefea","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.6.0.tgz","fileCount":124,"integrity":"sha512-5O6Dy1v+QdG+Xkr5pQZcuvtqCoxjAEkZeHn19Ob6qqO7Fzh0Jxf0rUqzV4N8RG/DJkiwiQcjyh62AFDgKfsYmg==","signatures":[{"sig":"MEUCIGyuN7RNV0+aJp+F6I2LmKAS99AlVUcae8XyCXAdrkqNAiEAz1+qMtQPRn7fB4b66VpohPFV1u/SLUtyp15FSW7ROiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":574382},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"e5b28f81267dc9529173cd84e32a996f2752942a","scripts":{"lint":"eslint src bin --ext .js --ext .cjs --max-warnings=0","test":"vitest run --coverage","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"9.39.1","typescript":"5.9.3","@commitlint/cli":"20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"24.2.9","@vitest/coverage-v8":"4.0.8","@semantic-release/npm":"12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"12.0.1","@commitlint/config-conventional":"20.0.0","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.6.0_1762972319300_0.40002555364837167","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"dry-aged-deps","version":"1.7.0","license":"MIT","_id":"dry-aged-deps@1.7.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"bc1db2957ebb70ed18d127823bd84334befc5739","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.7.0.tgz","fileCount":127,"integrity":"sha512-E5FgnoEh4EEOz/MPAHov5PxhAppprjyZ2t8n+UXR+Zb8K/iKdVH48+TwU0zu0RNTk0KmPshvgybDItGyGVAlsg==","signatures":[{"sig":"MEUCIE5ojTn8wLYyRT0IMlncmmjPd3++SGyi8jaC7PEC5AJUAiEA3+KXBCyQRGwKTiuBw0R7M1GaAajMpJFQLjkVnNlboX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":666208},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3d7aaa73bc2ed629ae1b4dd960be3842fbbca3d1","scripts":{"lint":"eslint src bin --ext .js --ext .cjs --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","test:watch":"vitest --coverage","type-check":"echo 'No type checking required'"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"24.2.9","@vitest/coverage-v8":"4.0.8","@semantic-release/npm":"12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"12.0.1","@commitlint/config-conventional":"20.0.0","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.7.0_1762997975393_0.6424132798434534","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"dry-aged-deps","version":"1.8.0","license":"MIT","_id":"dry-aged-deps@1.8.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"b1957f2a5896abcc266be7b02687e4f7740838b2","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.8.0.tgz","fileCount":138,"integrity":"sha512-h4w43Y1qQ7KWeJ6u8xq8zlx9tC8uKOTqfBtYRpElroX/YpkxrkedefCFqUPH0qMnM0PhlUuEZmSv8i949Ez/Eg==","signatures":[{"sig":"MEYCIQD83eq8bKzxERAeEF0w93O1vlaZ8DTsA8TRJ1yQMtk5nQIhAP2OQYYR5Fv1WIzy0otxvfGr/HQahYd0qvvccd17f5So","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":708459},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"10f969ebb75d353195db4c951803c786a56a6184","scripts":{"lint":"npx eslint . --ext .js --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm run type-check && npm test","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"24.2.9","@vitest/coverage-v8":"4.0.8","@semantic-release/npm":"12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"12.0.1","@commitlint/config-conventional":"20.0.0","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.8.0_1763008511429_0.3508804431249217","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"dry-aged-deps","version":"1.8.1","license":"MIT","_id":"dry-aged-deps@1.8.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"992566ca6328051942cf5178aa6fac70834ad737","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.8.1.tgz","fileCount":137,"integrity":"sha512-YB6F4BaDc/8NgvlGGT1+J+krO4YX36/ZLfBm7jszpHM8WalHevAwYsEZ0LcsjSae78AGJOdlRwRmHhe+OW/rUg==","signatures":[{"sig":"MEUCIQCQqsgpVgDM/WwDeTohAKgSc7ztv9i5mkkbqT2RsRuhbwIgRW/CTL5Ex0IeB8EIuMkpxuzULXVAjmq7ooVUVXOzFO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":639567},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"685ac33396fc356cda88f233cf2b24deb751702d","scripts":{"lint":"npx eslint . --ext .js,.ts --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"20.1.0","@eslint/eslintrc":"3.3.1","semantic-release":"24.2.9","@vitest/coverage-v8":"4.0.8","@semantic-release/npm":"12.0.2","eslint-plugin-security":"3.0.1","@semantic-release/github":"12.0.1","@commitlint/config-conventional":"20.0.0","@semantic-release/commit-analyzer":"13.0.1","@semantic-release/release-notes-generator":"14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.8.1_1763021423528_0.7635472920960655","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"dry-aged-deps","version":"1.9.0","license":"MIT","_id":"dry-aged-deps@1.9.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"9196a141c4ef06c83f37e0a0ef76da24e99d3f5d","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.9.0.tgz","fileCount":140,"integrity":"sha512-0B0bt7Vy4eAbel5nm4KJO2cSyYwLz6qp50bdMW5qbtBNSCl3tdwQ4df2RggDUanrg9DOousFQeE5jpsTjEWHCQ==","signatures":[{"sig":"MEQCIGucUK6yyHK7GE0Uzisax7DzF+SIH4m5vaQcvCfzxRbLAiA5wnwDb9Q6wos5/fD0KtmRpfjpp6yGol8CyYTQKvM1Ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":661127},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d1b5e813bf655c9f47b3918c2751ebeb50b168ee","scripts":{"lint":"npx eslint src bin test --ext .js --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.9.0_1763048856196_0.4419360091294169","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"dry-aged-deps","version":"1.10.0","license":"MIT","_id":"dry-aged-deps@1.10.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"c5fed56a7a17e34e00eca6b3399af19e7b3c7af0","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.10.0.tgz","fileCount":142,"integrity":"sha512-qgGjlRaUfAKmN3rhI8q/XnJgHszJi0rSGFs3p6wuPYY6bVSY3XVjsPetULHHZpR1d9UPKTRaiKyEGX9N0LGmBw==","signatures":[{"sig":"MEUCIBob64sleB6uENxKd3E/ztIvp11+rn6VcRWhnEDEYe8wAiEAjEMCqSExQX8UJfmUF3ZPSfoanumsQ5i0K6wqPnr2OBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":671094},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"25b2219c68f3d2eb0e3e571ffb5821ed35885493","scripts":{"lint":"npx eslint src bin test --ext .js --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.10.0_1763056962380_0.40848019530464597","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"dry-aged-deps","version":"1.11.0","license":"MIT","_id":"dry-aged-deps@1.11.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"8aaaaa13d1554df43a25e28f83eb42fae2904eb2","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.11.0.tgz","fileCount":141,"integrity":"sha512-DFN2ScxxazIbEgMAvlFgoyE1M3mmGXOJXR9DKwk1HuqkYIrKtlr4FDoKGVSQRgajQld4l5i7w/ouVPcEJVWfYQ==","signatures":[{"sig":"MEUCIQCs8PkhTmG421G4jdJc/0Ck+b9ZbZ/lXzJSBtjvFI8FSQIgUVd7Ty5CFUxiClnfvZ/kXi2Ywo1YEDfBcQ8RRoRpYkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":671912},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f2559fc2932f327a52cd66d38e992180af23211e","scripts":{"lint":"npx eslint src bin test --ext .js --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.11.0_1763063963097_0.3720114651951567","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"dry-aged-deps","version":"1.12.0","license":"MIT","_id":"dry-aged-deps@1.12.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"0a3bc23419e3a7c718ac8ce92c8e38afbfdd74d2","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.12.0.tgz","fileCount":141,"integrity":"sha512-hB8faCgzDpQGRagu3LcmdO1gK3IDJyDcoB0Pu9JK8L20tQSyB9B7OGEEM2WOr4Igf2VfYJDCb8RgMxpF/LZh6A==","signatures":[{"sig":"MEQCIE1V61nkqMOX94YqoItXFJjOUkO5NASMP+98rL9tC20cAiBprmsclnVpLg+lTSc0B+Alo0vd8jTbQpXwrYp1PoxRzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":689570},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"13c0ac605fe603428384f697591d22a7f6609c79","scripts":{"lint":"npx eslint src bin test --ext .js --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.12.0_1763075281966_0.042756562212706184","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"dry-aged-deps","version":"1.13.0","license":"MIT","_id":"dry-aged-deps@1.13.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"269166e60def88d6c1258c326866f323228f5fbb","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.13.0.tgz","fileCount":146,"integrity":"sha512-7JTk4wfSsRZqTOlmQVRVDqkFYtcxR8gT3/7D7b92+iHv5JpcxX8zUxFbYqswNId6BzAnBHwFo4/oogl1cpOZJg==","signatures":[{"sig":"MEQCIArvzYlpuQ6/UOY76HwAY6uR3EYRdozP0TRkLIps+FVnAiAk349mLX7u5SeTX0MAOjpONhWNYS5XgLpUm8W+b0w8HA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":702372},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"c128d7e24f5fa4b44bf3a7d8185e7e440156f6cf","scripts":{"lint":"npx eslint src bin test --ext .js --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.13.0_1763088270101_0.04043474350720766","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"dry-aged-deps","version":"1.14.0","license":"MIT","_id":"dry-aged-deps@1.14.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"e555ac98d1af3798486d10840ecbb456222b4d27","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.14.0.tgz","fileCount":152,"integrity":"sha512-UVOHGNyRnl7OXCNljMhJLC7QrNYaMDxptVLDS1ilw9ZhJ3jHg7Obcbn4qYwi2lPlfr5+q6momIWF/FGWgRQopg==","signatures":[{"sig":"MEUCIQCYlcLbstdkZlPT+0CkMdYbAdvwh5cJtv6MRNWtvc2n1QIgTAH3khrODBtdQkWuqgvS9eh0BvWkhQphcjzSAxIHEgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":740887},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"e6625f24d9829d029703c494f03eec6a392b3525","scripts":{"lint":"npx eslint src bin test --ext .js --max-warnings=0","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.14.0_1763097619720_0.7000132306778721","host":"s3://npm-registry-packages-npm-production"}},"1.14.1":{"name":"dry-aged-deps","version":"1.14.1","license":"MIT","_id":"dry-aged-deps@1.14.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"10a8f591ae43b211cb334ae2eed22b004299b267","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.14.1.tgz","fileCount":153,"integrity":"sha512-/avA/c2nFOvjcvPDBtlhcWNECawiuZMNEZ+ymbuGF5Ha08P7SiIlbpJ06G6tttbu+H26VJfCw4S2BqjsHDztlQ==","signatures":[{"sig":"MEUCIHaMvTWSBLeUwG4ZEYSsjkiIbS6PbSs2wV/7xQpZRsQMAiEAqSgsZ8IzTVc7m0afxc09jTh5lrUw4yY+MqghS05Iy4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":718063},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"e21179858a4fac85e6ebc119fd452ba6e7ab4a22","scripts":{"lint":"echo 'Lint skipped'","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.14.1_1763101056768_0.3936483558529731","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"dry-aged-deps","version":"1.15.0","license":"MIT","_id":"dry-aged-deps@1.15.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"8c9fbe45f8a00a0d5f0ad6c225f4fabe37edd842","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.15.0.tgz","fileCount":131,"integrity":"sha512-DDSb5EIQ4qAAvDpHg6x1k9+JblQkwcvxLfO4rd7VO/v2eu1M3TOXPlNnhH2nWvJJGW1YQTy+avuFftvlJuqr+Q==","signatures":[{"sig":"MEQCICcpsjW9MSpMQVya2ZGoo4Dh0ylFKQRaYIddtrE0cUW5AiAiWa3CQmmvMY0pXGGtvpsZ5+XoI4By1x+U1Ejjii8N/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":531343},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"2c2df0dcae3bea498ceda01cc2e8785d5361e034","scripts":{"lint":"eslint --max-warnings 0 --format stylish","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.15.0_1763110491864_0.5955188882221194","host":"s3://npm-registry-packages-npm-production"}},"1.15.1":{"name":"dry-aged-deps","version":"1.15.1","license":"MIT","_id":"dry-aged-deps@1.15.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"079e4a9e0fb7b9380a1e9a027576a2825d811a66","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.15.1.tgz","fileCount":153,"integrity":"sha512-UmSqNN/bNcYCbJroSC2s7391zz+4BIHAOC49iAgHszp/JJ8Z/E9j+ZzZUI8y19tRZXA4M/zIDaraad7GaWA0FQ==","signatures":[{"sig":"MEYCIQDBbQMg/y36OZMkPVRU1ItEJZ17k4rQ8K27Lxlxw2aTegIhAPrv5QpmAHhOGDx+Sx7zgm5ewghrGnjMtli5x3bTh1V5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":598270},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"a6b444f04d2d11b5b45bbbefbc23d1e6dc480abe","scripts":{"lint":"eslint --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.15.1_1763117266109_0.709914874435873","host":"s3://npm-registry-packages-npm-production"}},"1.15.2":{"name":"dry-aged-deps","version":"1.15.2","license":"MIT","_id":"dry-aged-deps@1.15.2","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"5c6f1536b68063a1ad96b3646185ca60d86e40ac","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.15.2.tgz","fileCount":164,"integrity":"sha512-FSgW7c94NP2m2sfrmgCO8NbCIUpoDnzqvNWgR0tv5izdiAyOvPaDn+0F80qyow1EaOpAa0SkJSDIjWesGmbk3Q==","signatures":[{"sig":"MEUCIHTyGXvE0ZRvrC8GEAoouIR3Sa2nTt2Kup3tAya3e8AYAiEAhgT87W3HqsIaRmkVmZHbVuabbRwPISepH/MufGMAVwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":692858},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"a25c8147291cefeafc75a81338b487f7d2c63e7e","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","release":"npm version patch && git push --follow-tags","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check ."},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.15.2_1763137789175_0.35109721492310775","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"dry-aged-deps","version":"1.16.0","license":"MIT","_id":"dry-aged-deps@1.16.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"26180f4453ddb25e23e3cd04ac39f656722fc176","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.16.0.tgz","fileCount":164,"integrity":"sha512-Sz+iJ+nz1InzSLJmMH9xSAi21noHSkkMX5rxkkVSvVWSOy278BDiR+8hdXuYeACwqpWdkgVDiMBTp98oMAxNgw==","signatures":[{"sig":"MEYCIQDKPTJuiXp0n7Uwz2rF7g1e93iDimUZvhFSzF036gh+UAIhAJrBGrCjQvXl3IvKspBnZ7cWDxvHOXY00w2rKM8igyJ/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":701393},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"978cbd35bd1c9681855815748a3eda563a454bbd","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.16.0_1763144771946_0.41679451607783724","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"dry-aged-deps","version":"1.17.0","license":"MIT","_id":"dry-aged-deps@1.17.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"30c537578d33772c904698f318500560b8e65eb5","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.17.0.tgz","fileCount":165,"integrity":"sha512-k5fUUq0gIJ9EidMaNvnDqlJjX6u7sFxVu+zi7Mxmb+0FcdnnTKZoy1Xvfl1LaPzDOgWnjfGvW6ke4clCNeDAwQ==","signatures":[{"sig":"MEUCIQDSFUEEkHTpKQqf7npAs6EY7WpiAZduqMikY/32ZB4LVgIgA9rcvBaZRu6Zsq95RDpk1n5xHlE+IymCrWxpg9+g1+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":708013},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"a61a225bba0c4e464d4ab8986b09777a1e5a02c1","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.17.0_1763152514893_0.9679080776037103","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"dry-aged-deps","version":"1.17.1","license":"MIT","_id":"dry-aged-deps@1.17.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"c7f1adb587fb2dc706bb0d331c345f2ecde968a9","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.17.1.tgz","fileCount":174,"integrity":"sha512-yQD4XfA6jOHABV81RJ/qJ9LOzazwxwH9Q6f3B2plUpChEl59vWHrB71w5Xv+9Oje3ojAqVd6KDD1WxyGdrvLMQ==","signatures":[{"sig":"MEQCICDr9CyK0rMhCTZ7Jtxy/caCMw6fnOBXJN0uM1mVz1ofAiBlIkpICsR9gSJplR2qmY0NFMBda19eBX7UuEmIy5GR5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":755046},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"81af863e0c2915bd2dfc00847697a38352179bba","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.17.1_1763165848985_0.5694745047789196","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"dry-aged-deps","version":"1.18.0","license":"MIT","_id":"dry-aged-deps@1.18.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"dcb11d0a63256911621e583edc6c1a633b9bbc1a","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-1.18.0.tgz","fileCount":176,"integrity":"sha512-8krlX038beygcfO5v6v46usi1TUJiUQzHDVB81DLF254Wv4+pKpwNDOM6QcBrcGGEd/Jx6VUozeJ7RIzT+P37g==","signatures":[{"sig":"MEUCIB1IYAdxP66wqA7Zfy832eh6Aw2khzXbY0FZ+0YvjNHsAiEAw62WDyXGuN9EZmT17TipjWMHEGlb5VJ5Tt6B8YWmVIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":753701},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"53accff5fa4db4dec79beac1a643df0a9e4a18a5","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_1.18.0_1763173864758_0.33216316285698966","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"dry-aged-deps","version":"2.0.0","license":"MIT","_id":"dry-aged-deps@2.0.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"e2eab1edb46d455e55ecb9e9bf0706dd11246764","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.0.0.tgz","fileCount":177,"integrity":"sha512-iyO8O2gB/kOWDTRfxhSaX+IYYvD5F7RJWsEd6Uctq7P6bULi7jegZPAbc7vSHu0pSDwWTvkCWfoiMu3IBtwcpw==","signatures":[{"sig":"MEUCIQCA27eBxj8cbENZwk/+MSaQJUe4txXCgGLXS323AcOb6AIgCCHBy13kLk4tLVHVgSxRWYGu+VROOc5Z1iyd4QonvBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":749531},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"631299289d15ea03430320a27c712d7dd1711d9d","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.0.0_1763189128105_0.4748646104322789","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"dry-aged-deps","version":"2.0.1","license":"MIT","_id":"dry-aged-deps@2.0.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"ebf6396228c8eee39eefb94bb4002cddec0de8f0","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.0.1.tgz","fileCount":179,"integrity":"sha512-3KimqurjpUTzCDWJRTeOPiM1vOfiRU60uusfR3IobvLuUn907VBf3Bp0tKvq7vtX23UsqVUn6L8FmP/n0IJu4w==","signatures":[{"sig":"MEUCIQDCg4dPsTxOF/Q4/AIHdc2lvaAofJa18LHzuylJ2z/MTwIgVNtrYT6O033+i8mCOTSueA6TMjn5GbRWljRz5pKI5BA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":749627},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"57741ac48ef5acefecc0ecb03aee090535da9a5b","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.0.1_1763255969015_0.6300551555580316","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"dry-aged-deps","version":"2.0.2","license":"MIT","_id":"dry-aged-deps@2.0.2","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"65fac732f70e84b74b870aa7ed384718e22ea7e9","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.0.2.tgz","fileCount":179,"integrity":"sha512-Gcex2zWbHolSZbXBbZXGba/R4CibFwLcz82xffwxny+woZuAnRfz46J3yuYCsAfAlVNruryMOqZRUquyxK+w9g==","signatures":[{"sig":"MEQCIB3hk2oDO0Fz6vfe2CDv71zmESP07Pr9P6VWeuxMzxdDAiB51c9s8+nq543XkigqShQigC5GI1U0SgytSf2nvak24Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":772750},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"4a82214a8d8faa8887cbf96382aa4d4744a1f861","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.0.2_1763258658140_0.9998728770034786","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"dry-aged-deps","version":"2.0.3","license":"MIT","_id":"dry-aged-deps@2.0.3","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"0eff6330c6eeaccc378726c7d5cc5fbf89927c2d","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.0.3.tgz","fileCount":179,"integrity":"sha512-/CgzGKghqJqHhdSs6PDPw7hpVzkuEpjwlP913MjunSVIYfeQItJo6dtl6yubmtMYyyDRwYQffWhzemKKCBQwAw==","signatures":[{"sig":"MEUCIQDN4puysrPcOJoinA8zuWhVB5xqauRUNh1a+9lUw0KwwwIgH4NoEkYVPK136RYENk9hrqIwM4USFLs9jVSSSH7hD2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":778593},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"5f4b2f1076824a9472e63f8f8e791af7f9a0ab27","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.0.3_1763266442684_0.804525630902478","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"dry-aged-deps","version":"2.0.4","license":"MIT","_id":"dry-aged-deps@2.0.4","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"5f2ec347bc7ba125ed2298fc04ab9f4a8e85765b","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.0.4.tgz","fileCount":181,"integrity":"sha512-AT0b/o83sm70zBUK7QC6+AL2KSy0yQgrTV0KbsOEdynxlGo0F00TdC5jPSCgSsxK7oWrTm9ENtsFeeYn8WD95A==","signatures":[{"sig":"MEYCIQCV60ul6MDH+YxTveHQbBljxowV4IBJDNak6JXgcHkPsQIhALmv3OTeKxtc2EmH/6scP16e84v1BweoeBMbvW3xcU+D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":770117},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"989a5a21f5a90078b469ee237c78cac8371114a6","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.0.4_1763272306574_0.29487028744877297","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"dry-aged-deps","version":"2.1.0","license":"MIT","_id":"dry-aged-deps@2.1.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"41fb13da5d2666be82e8b79558fb1163e555384e","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.1.0.tgz","fileCount":181,"integrity":"sha512-b290SJxzj6G//uLs4awzceSiWDr2RID+L01u/GRHmXKEP3merLm13n2uOZrQmScNon2Eqv9mPgt/NtJUaNZ3bQ==","signatures":[{"sig":"MEQCIB1S4IAxKNhlp3Z99ft1qfdfxEjdqb+Eb+MUr8yBYeu8AiBT60vpzPnhTOEwgWt32F2ACRM0BzH4CBxDy54EMr1fAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":758823},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3a055118fefb52169fad7adbde0c8fcfc4d2040b","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.1.0_1763275668465_0.25297202469921376","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"dry-aged-deps","version":"2.1.1","license":"MIT","_id":"dry-aged-deps@2.1.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"3aa5dba4ce8620683c3517a484d7d6f9a9bec19a","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.1.1.tgz","fileCount":197,"integrity":"sha512-R6TMFZRwEzFqvqzTyfvqo1ulO2zIJzWQFmIZ7QroHVfME/xLiW6MDbjUg6TZf9qMVvwn95y0a4ehojvib0BU4Q==","signatures":[{"sig":"MEUCIQCup6c6J2/Owjqsf7MtcfWrrw7cncJs4i/6EhK0xXkX0QIgbo5i05o+/GuBP3vkiESST2hc+mZTOhI57/kl9AaBdh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":772038},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"51bc078e4a639d144ad653fdecd6b2962f43b8a6","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.1.1_1763282464033_0.3066430420056898","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"dry-aged-deps","version":"2.2.0","license":"MIT","_id":"dry-aged-deps@2.2.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"946edd6f112750469b950957ef886904a89ba26e","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.2.0.tgz","fileCount":199,"integrity":"sha512-WYzdOxFMIRg6bP7a3u/WE0+LNOQJmMuatzsrpTacTi/p2nq2bRT31nPa1dYXKl1ZekqSpRXNdoh06tzmv34LtQ==","signatures":[{"sig":"MEYCIQDWo0i6xJ5zToT2xLA0V/ryA2BjRwzSfjPSL+EhLW3MFgIhALpL51mARUxbD04oeTAbq/BdwXp/M8I8XbOuqQQGz2kJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":783539},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"9bddd7a6cb483ec4bb90903fc9e27a5adf232ff9","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.2.0_1763300555913_0.7665597553600985","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"dry-aged-deps","version":"2.2.1","license":"MIT","_id":"dry-aged-deps@2.2.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"3ab46b196e4354e10753db939671ade2ee21b362","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.2.1.tgz","fileCount":200,"integrity":"sha512-KvloRGc6CkQH9px6/GeMwhENYVGMoPVPaAlYtwzE1dh2WkI+72/9c/G+hAB3oTXRPUwKs5KnWjJPFxvSn16ZhA==","signatures":[{"sig":"MEQCIDPPLHSi9soznpt5dg0bMMzC8vVZPlpPoHOnwwBPLxicAiANOi7EkiFo1ZlrEMQ7QsgTL5NFeqXha8Oi/WD/9s4XCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":804773},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"be8983ab4b02e43f92e972ceb0634e9daafa67dd","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.2.1_1763349735664_0.8338884596149596","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"dry-aged-deps","version":"2.3.0","license":"MIT","_id":"dry-aged-deps@2.3.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"0cbceca947f8397a7b0f7b4871f729acd6c4a3b3","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.3.0.tgz","fileCount":201,"integrity":"sha512-0lg34dRP0aan3D37ffI9xxTg7j3jJlq0B3GEU9zMQqXA2Vz8cr7jXMLWWgNrF0ewtfaXuHYS49h58arFh968iw==","signatures":[{"sig":"MEQCIHrEPlQfVG64wWLi2umo0DT5zCZA7D/DisObZzACxoLSAiBi3pqWLh08eEbYioqf9iUFB0RFTN3t5v4BPkDwBALKyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":800014},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"ad27f678fe376531dae7d4a22143938bf30f3fef","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"npm audit --audit-level=moderate","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"tompahoward","email":"tom@windyroad.com.au"},"overrides":{"js-yaml":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"10.9.4","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","semantic-release":"24.2.9","@vitest/coverage-v8":"^4.0.8","eslint-plugin-security":"^3.0.1","eslint-plugin-traceability":"^1.1.7","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.3.0_1763359305202_0.6317201060648716","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"dry-aged-deps","version":"2.3.1","license":"MIT","_id":"dry-aged-deps@2.3.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"3f3d07bb77b600a7aa29cdec51f8aecfa21fa90a","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.3.1.tgz","fileCount":171,"integrity":"sha512-+vQ6b4QU+BdDZpmwreMyG4WiO3kqbyK5DSi31DN5UfVoqNin0P9HZImXyDHU9T1cDMwlN9Yyn/AaEpL7XdCt2A==","signatures":[{"sig":"MEYCIQCTK60Lnh25FM7FaZctpnv86HKl3f8pEMEbmX6XZH0REwIhAP0J+O+IH0iOKuvvUT0ekt4mDxBCO1IrZs+o3At12qen","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":668865},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"bd3bac9b59cb12ce00a6e4ae967d373755ee0cb5","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"better-npm-audit audit --level high --exclude 1109840,1109841,1109463","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only --legacy-peer-deps && git diff --exit-code","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.2","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.6.2","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.2","@vitest/coverage-v8":"^4.0.8","@semantic-release/npm":"13.1.2","eslint-plugin-security":"^3.0.1","eslint-plugin-traceability":"^1.1.7","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.3.1_1763514657974_0.4717494580067607","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"dry-aged-deps","version":"2.3.2","license":"MIT","_id":"dry-aged-deps@2.3.2","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"b73ea0f1eec07a8bed371b44a622649262544c9e","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.3.2.tgz","fileCount":215,"integrity":"sha512-/H+r78C3IWlfJKGP3CBbu4q2vBrJH6LuUemPn5Bv47ARy/vm6350N0Tfg3NnycCOYdS3s8rxvTQ93MAtyGtKMA==","signatures":[{"sig":"MEUCIQC0PKsZTEcVxnFQTZT+RKj03CofTa8DCFEJdw+QX83xEgIgc/nXTXAhmhxUOmRNjolLv9doRqQLR1BMiyc+vjSWcIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":893783},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"1e3f38bb7b4fc36f7e4fd119f5a7dbc38c5c0372","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.2","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.6.2","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.2","@vitest/coverage-v8":"^4.0.8","@semantic-release/npm":"13.1.2","eslint-plugin-security":"^3.0.1","eslint-plugin-traceability":"^1.1.7","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.3.2_1764697016160_0.47509556291454547","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"dry-aged-deps","version":"2.4.0","license":"MIT","_id":"dry-aged-deps@2.4.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"99f9134fc831934f81a58c5ac368bc47c6bccfde","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.4.0.tgz","fileCount":185,"integrity":"sha512-x5ut19ZQ5p2xHc13iQS0gruCJnWnskzspLdSOLQfppEJeLnaWqNcdIbmP3FS3p/7XJp607+NUTldayA1wSvaPg==","signatures":[{"sig":"MEUCIBW+yOisKnVQKO9wJ0yvrusPZ9K+5UDwvCyFcAPIQFwkAiEAl4KPU3mDgFRd8eMhyFQB74sPMAXD8+y22Gc1NGL+ob8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":852470},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"01d9fb9224d65c9bd5fe641461a0378a98d0799c","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.2","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.6.2","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"9.6.0","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.2","@vitest/coverage-v8":"^4.0.8","@semantic-release/npm":"13.1.2","eslint-plugin-security":"^3.0.1","eslint-plugin-traceability":"^1.8.3","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.4.0_1764877104222_0.9357538783126536","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"dry-aged-deps","version":"2.4.1","license":"MIT","_id":"dry-aged-deps@2.4.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"3584bea5617b04810024a12ed176f8597254a4a8","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.4.1.tgz","fileCount":186,"integrity":"sha512-GtZiitjsynzQca9UhQYeCWv99zPr56bxtHIfqxFT46pawzWNCXUWJNzmNksu5OrowgzvqxZ2hkqndYqFWOOrMA==","signatures":[{"sig":"MEQCIA/mnQv+wljT2AbtyJ9Fn9JT3qgl9nd6RLg0QLJKtopUAiALOU1R5TBcouXCVxXQAGMmDp+jisNOtRLDUB9IIjzeWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":853020},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f1bbd7238e2e4b7972066452c810a4591b9286a3","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.2","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.6.2","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"4.0.8","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.2","@vitest/coverage-v8":"^4.0.8","@semantic-release/npm":"13.1.2","eslint-plugin-security":"^3.0.1","eslint-plugin-traceability":"^1.11.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.4.1_1765111703267_0.728286978495029","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"dry-aged-deps","version":"2.5.0","license":"MIT","_id":"dry-aged-deps@2.5.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"c4b68e5b7e2d890cb326bb84abda48395349ac51","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.5.0.tgz","fileCount":201,"integrity":"sha512-qkjrVAhlyXHCTcbRRnrF+gu3xmA9mITkG6dz5LU9rnj6dPakcPptAUHHF9scv3/jA7zLNBRAyF/ZMOk2Njl7MA==","signatures":[{"sig":"MEYCIQC+NkhX5c6t2nOhreAA6/m0z5p5YkhHCavf3pUmgobcvQIhAKYX66IUL74KQ+smOdKKAmMXuM3viZvyV9lgWu0Gns54","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":879040},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"7acdc7c962e1d763843c8b26041d9c90e4bd371c","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.2","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.6.2","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"^4.0.15","globals":"16.5.0","prettier":"3.6.2","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.2","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.2","eslint-plugin-security":"^3.0.1","eslint-plugin-traceability":"^1.17.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.5.0_1765317868186_0.3647567774835083","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"dry-aged-deps","version":"2.5.1","license":"MIT","_id":"dry-aged-deps@2.5.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"4dfa4a07f0ac74475cc9cbef2ec3eeffc97472d0","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.5.1.tgz","fileCount":202,"integrity":"sha512-vQ4Jmg+RhuoXAFIjkjnLCachv6/vin7FOoIU1gclg7o2m8LqCf9HCA99k3K2rp+E+xovfzMxvCRgHhgav45S/A==","signatures":[{"sig":"MEUCIFyn+6z0YMI66t7WKlmcchaBh7Y5vn3YIwVdKem//ge/AiEA53WXORp0Loxya94K1pw4A6P8wLm/BgwHPLj9xZgD8VM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":881170},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"6f9fa15c974b4122116a0eb0fc51e59607cbd762","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.2","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.7.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"^4.0.15","globals":"16.5.0","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.2","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.2","eslint-plugin-security":"^3.0.1","eslint-plugin-traceability":"^1.17.1","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.5.1_1765770772801_0.8164107926062527","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"dry-aged-deps","version":"2.5.2","license":"MIT","_id":"dry-aged-deps@2.5.2","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"7ae7183556e0ed74935f54c0f7f83b152cdecc8c","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.5.2.tgz","fileCount":203,"integrity":"sha512-8slKGJgwI/9kYtjzozCtcorA8FP5UnpA8cxJBX3dXEj6714kNzBUf8vA3lLit4LD8B516mQt6/9wkPXwJtYZmA==","signatures":[{"sig":"MEYCIQCHCF51zslesnlPhasDwFA4bdkoLaIFlvhwMd+ZSirD1AIhAN+2l6WKxGmmr9+Cq0GS2nGRARdrrABCP+CUvEA/4g08","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":887340},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f47b30f50c17d9d9e6282ec04fa899c889bf7c78","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.2","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.11.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"^4.0.15","globals":"16.5.0","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"5.9.3","@types/node":"^24.10.1","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.2","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.2","eslint-plugin-security":"^3.0.1","eslint-plugin-traceability":"1.21.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.5.2_1772537316009_0.28401092468462186","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"dry-aged-deps","version":"2.6.0","license":"MIT","_id":"dry-aged-deps@2.6.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"d011e791bdc3b795f95660716ab2c65b8ca39246","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.6.0.tgz","fileCount":206,"integrity":"sha512-neznE/c94RF2yOV7O3UXbXEL0Ohp6IX8T73h4t03+keCYXLmRIT/yhjGZh8IIvL75JN+HDyOoQQGvIIEvU4GSg==","signatures":[{"sig":"MEUCIH+HemW0IO2vK3icItH5DjP/mKReQsYdW0YlD+MTWmnmAiEAmbXcPbHaSWploMFyXkKtyWHOCf/KN5sU+g5GWbXSoTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":906889},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"496343f3738258b624d3c6d4088200d6c1b56a5c","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src","validate-traceability":"node scripts/validate-traceability.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.2","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.11.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"9.39.1","vitest":"^4.0.15","globals":"17.4.0","prettier":"^3.7.4","@eslint/js":"^9.39.3","typescript":"5.9.3","@types/node":"^25.3.3","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","eslint-plugin-traceability":"2.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.6.0_1772576646961_0.18149489382186235","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"dry-aged-deps","version":"2.7.0","license":"MIT","_id":"dry-aged-deps@2.7.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"3c5a457e6e1c79843a6e567a265ce417cb7fb816","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.7.0.tgz","fileCount":239,"integrity":"sha512-actB9NTZPaqZP/PXoL2Htvp7nKuZK8k8DuZzD62kaGMIQI+jJUDIUFvZz6GJFb7DInnBezixCILWsfLbnYjxrA==","signatures":[{"sig":"MEQCICQrdCp+P0ugKkMIn4VNaloryVGZRXsXYsoAum9s2ZIkAiA9DnbpIRKuX09zknN+SVnGkxOpX2Qtx4RUICC5P0k9ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1069757},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"2efb60b8e10786a32caa41397174414227258411","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"10.3.0","vitest":"^4.0.15","globals":"17.4.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"5.9.3","@types/node":"^25.3.3","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.7.0_1778583363054_0.32254438001825525","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"dry-aged-deps","version":"2.7.1","license":"MIT","_id":"dry-aged-deps@2.7.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"0b7476a0aa8ff5b7de8fb1f4761c352e0f4a517b","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.7.1.tgz","fileCount":255,"integrity":"sha512-QhPht23FYSma5/RAdMKp7u77YM+IF709kwqwmttt6rCxUndY4K7IiLbuo9TjFHFaWop7Xy0AWreVYkoap8NHZA==","signatures":[{"sig":"MEUCIFJYeGn5E3mEQuxgJG9r2AaV20BLWMvdmdn9WQ5iClxYAiEAnhIr+iKZZw4zrEKmhQ/VxGlr/6rd9O2aSUObgJnapdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1168203},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"20b6e272a887ed812928f6270e36d80c766da2d4","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"10.3.0","vitest":"^4.0.15","globals":"17.4.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"5.9.3","@types/node":"^25.3.3","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.7.1_1778622196080_0.875744696349533","host":"s3://npm-registry-packages-npm-production"}},"2.7.2":{"name":"dry-aged-deps","version":"2.7.2","license":"MIT","_id":"dry-aged-deps@2.7.2","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"739c61d33bd3ebc61450240beebe499f5f4a2592","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.7.2.tgz","fileCount":263,"integrity":"sha512-f1H+XZ55GotW0dJ/gPGqRVIa1+xOP1UUfWp4cJk5CeoLbhjtUzdloqrE6UqLUCKFkocqMcCn5zjKRa34oZYj1g==","signatures":[{"sig":"MEUCIBNGxX1EQz4+gzRcaX/eHhiJecHQTDnULw/jRDWb8VbpAiEA4rHPGshdPRononVgqvya2GpY7ZFH9mCi/dGbgvJus78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1236398},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"b27f7f97cdbd18847ab5f16e2f4dd9eb661b915c","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"10.3.0","vitest":"^4.0.15","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"5.9.3","@types/node":"^25.3.3","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.7.2_1778709124181_0.44144704576451943","host":"s3://npm-registry-packages-npm-production"}},"2.7.3":{"name":"dry-aged-deps","version":"2.7.3","license":"MIT","_id":"dry-aged-deps@2.7.3","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"dae217d8b33feb2972efbc7b71d2f651e70a3a76","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.7.3.tgz","fileCount":263,"integrity":"sha512-bck4z4o+QmVM+Npn5D4rZI+sqbah9CD40piouFREuhryENqRwjcmSd8wg1yIEoe+rA1zXvCtlmFMwB97E/JKOw==","signatures":[{"sig":"MEUCIBIejEjLsEsxpoqUNj7VZPc8qFV5lP8xUx5dQLSy2rNoAiEAiD1l8kcWszbXkVmh7EXU8LdzcchmuQ+/ZBWvMyVQUwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1239747},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d8d80b978209147462db481480d87781d156132a","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"10.3.0","vitest":"^4.0.15","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"5.9.3","@types/node":"^25.3.3","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.7.3_1778908678555_0.45787504969745063","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"dry-aged-deps","version":"2.8.0","license":"MIT","_id":"dry-aged-deps@2.8.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"5857b0a3387b38459e2ade14bda624cdbe64a8c0","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.8.0.tgz","fileCount":266,"integrity":"sha512-BmV/f249brU5qPZHsL6G+fiiQljrUw9gyVzEGMZK/DLSyR86ilwy6kE9eXXxUjvp83ltCcOfuJptQb5XmlSS9g==","signatures":[{"sig":"MEYCIQDqcA5Afp4QHzK4m/S2FI638WICIdCXVkWGFE83fXpFZAIhAMb/TVWScx2dtCFd0wZzlmfLFWqAZTrp8z4Vm9hgFd2K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1328375},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"38a73bde5747019ceb2b4760abce7ffd83f55aa9","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"10.3.0","vitest":"^4.0.15","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"5.9.3","@types/node":"^25.3.3","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.8.0_1779021232874_0.8195271055595554","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"dry-aged-deps","version":"2.9.0","license":"MIT","_id":"dry-aged-deps@2.9.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"b9abbd8cb1b0a1929fb513b04367ac93a2e040ae","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.9.0.tgz","fileCount":271,"integrity":"sha512-6bk+dhokYNvN2nW/qGdwDSDv0ga4qugxbGRkwauTM/uxENg0xvq8BWKy0Yo//LZkWa3MOTsS+Eja4C1V1UYuSQ==","signatures":[{"sig":"MEQCIGy+dhSm3I5pNh/cRcaz4jXptdXK5kyIH7oa6tyeShuEAiA3vGipFiD/1JcmYix1bnQwkdfdAEYSry3cruTQlcd6Iw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1395155},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"796abfa5af808ff727a2610c9ef80d16005a968e","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"^4.0.5","eslint":"10.3.0","vitest":"^4.0.15","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"5.9.3","@types/node":"^25.3.3","@commitlint/cli":"^20.1.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.9.0_1779104492923_0.6704359240809854","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"dry-aged-deps","version":"2.10.0","license":"MIT","_id":"dry-aged-deps@2.10.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"ea42585f074bdc12fd86508a60f8d724e7441eb6","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.10.0.tgz","fileCount":281,"integrity":"sha512-3SIZjyCdP4gj5I5NTSDoSDI6ufiPYTJwdtcdsJv+6lOwuJKoIXbvYVFYJhTcZG8oKOHAU89ep/Ub1cqK73Y8NQ==","signatures":[{"sig":"MEUCIFpPifBnJNFKPG7ZWYSAW9jMbjt3AUGMrE05EBuatS4GAiEA4RzksJcTm3KZ86E6XAEtEsSmG77XrrzPVL6hHVvEac4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1455189},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f17abc45df456291f903b3e9b96ce517eda87041","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.3","eslint":"10.4.0","vitest":"^4.0.15","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"^25.3.3","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.10.0_1779635789320_0.024293457063107038","host":"s3://npm-registry-packages-npm-production"}},"2.10.1":{"name":"dry-aged-deps","version":"2.10.1","license":"MIT","_id":"dry-aged-deps@2.10.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"2899ae2a6856b76799b4d92ecc85123116a976c7","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.10.1.tgz","fileCount":282,"integrity":"sha512-m35UjNad+Gv46cCUfABgmxcQ1GRKwhUIU8i9TdzcDF0vQRSUT3dQ6BydOrXTUQj/k1sbaIIJZvusZOnjKgafLQ==","signatures":[{"sig":"MEUCID99H85jFNPMcxDd6PWE3cMHO65Xqr6F0twfClzBkXKnAiEAgScKgSwaRRFOOMFA25IMkosd16+SfnRnZwEhaYRHY+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1460475},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"46e3d14586e01c3b0df5297f0b16a8f89f28accf","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^4.0.1","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.3","eslint":"10.4.0","vitest":"^4.0.15","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"^25.3.3","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"^4.0.15","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.10.1_1779638053412_0.5848398650270659","host":"s3://npm-registry-packages-npm-production"}},"2.10.2":{"name":"dry-aged-deps","version":"2.10.2","license":"MIT","_id":"dry-aged-deps@2.10.2","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"851919aac6377801636c1f8ee2a1db913b3683cf","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.10.2.tgz","fileCount":294,"integrity":"sha512-qyDqE1eK5mUEDZw1+n1siHwqjRBhEznuUQj2NOLwaFFJBO7++1yYvuYHUqnIiVILMQLydMtU3Tm+/d6mCmEGJA==","signatures":[{"sig":"MEUCICzqrv34RAiG5I1gA/bn2hqpphMwNX9oSbjCvLxgme90AiEAqB5gFK/AGEPP+fDj87cgmZVxLVlfCdn4rV1LvfqSxQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1531070},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"be0e6471410eb11b553cc932108db5e50e933f25","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.3","eslint":"10.4.0","vitest":"4.1.7","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.10.2_1780109109489_0.27687532810672577","host":"s3://npm-registry-packages-npm-production"}},"2.10.3":{"name":"dry-aged-deps","version":"2.10.3","license":"MIT","_id":"dry-aged-deps@2.10.3","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"716463d6f63364b403302d49d6d6e8af4cda6065","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.10.3.tgz","fileCount":294,"integrity":"sha512-vYlT4znqN8j7vmxbol6zmk471XspFCioMVoSyBRQuV5ofhf+gG2iE+KHg+frHMjam2LNBs7rlCGqyJggNJg0KQ==","signatures":[{"sig":"MEUCIDxCokvERW7Rn9PCSETfHdZ/Px15WEL/I2WRpo6RngUbAiEA8ZoCNifWXwYbspY3o13YuVdXCkOEbwBoMK5JSw/v+cA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1537168},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"32f8693686cf3f7c812dfc310004f64fc68852b6","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.3","eslint":"10.4.0","vitest":"4.1.7","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.10.3_1780110525629_0.03462215807295399","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"dry-aged-deps","version":"2.11.0","license":"MIT","_id":"dry-aged-deps@2.11.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"6e637e222fca366dbd267ef5bf60984325b94507","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.11.0.tgz","fileCount":325,"integrity":"sha512-w76vAOX0KjhrpljEvW1n9V4ciCCyb12fXvGetskDry7AtnWHcVBgc4tlJzNGwNZOC7YrhIkk4aS0FySK/nHucw==","signatures":[{"sig":"MEQCIA/rUYTJdVwOPuDOVMCBObtbENtbdCb0u4AeRbMbiYrMAiBFxvfyPrjcOGgOXNGtxfrkf+U5leZnwm1LgXEx4vb5SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1806466},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"84b9acdfddbf98068b04187a0859e25391c9ff62","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.4","eslint":"10.4.0","vitest":"4.1.7","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.11.0_1780373070305_0.9368081030037874","host":"s3://npm-registry-packages-npm-production"}},"2.11.1":{"name":"dry-aged-deps","version":"2.11.1","license":"MIT","_id":"dry-aged-deps@2.11.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"93ec459c5dd60610add55b95e180390e183c021b","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.11.1.tgz","fileCount":327,"integrity":"sha512-/8HArIDPTYWWZLVxsck+oLEiaeS5WAeBblV2u++QJAqvrw7r5UKUbvXK+fJrfs+Vzo3KiPAWeiPSCwkMwT29mA==","signatures":[{"sig":"MEUCIQDsHP2p7JlQcVhbF2SZEqj3e+YhPKgQPkl5ZxQH6nzF+AIgJ3PDkYWTP3BsENiEy7MWJyA8L7nH1RLWRG3sxqrPckk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1815328},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"bafa15b90c2b86375b3186f82aa7037acf944c45","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.4","eslint":"10.4.0","vitest":"4.1.7","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.11.1_1780374793205_0.6454458148806594","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"dry-aged-deps","version":"2.12.0","license":"MIT","_id":"dry-aged-deps@2.12.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"a901623de0e52a8dd21b95b31e5d32b2a955d6bf","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.12.0.tgz","fileCount":352,"integrity":"sha512-UPAo0p9H0vd8C+Wuz5GIp9LIj/b0/rrNnEF/d9T9Cf1yGh9ZRU8H4A2UdUC73Iyk66jeMpsedhmWH/hpfDEGeA==","signatures":[{"sig":"MEUCIQD1M2s877hTbadHfRMYu9/toXGAPBA8ozBGtHj/VK8GEAIgOm8T1X0Y4DfqglB6HgD7FON48Yk3sx3Au1mmBIdx1jI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2018573},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3dffa78ee48c7307cf6f70bcaab96bb960c5fd42","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.4","eslint":"10.4.0","vitest":"4.1.7","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.12.0_1780450319186_0.890360663456178","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"dry-aged-deps","version":"2.13.0","license":"MIT","_id":"dry-aged-deps@2.13.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"f0a10d4c77c00bd3cd4075d3710a3dd069f9e483","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.13.0.tgz","fileCount":371,"integrity":"sha512-JABv0mNYL0fnvPWjp7wzWUfppNdeTP5Op8wJmx9yC/OpG8NC2iOPm9nWhxqhgQiuUSv/UAWZPCj3uOYc6H4L9g==","signatures":[{"sig":"MEUCIBozsShBIbjZmSdbRcTkYi+ja+4RlBbDdFUQ8bbvX2YbAiEAk+OcS3XXznXyknokZrNnfMsvsw9GB0qNVul1GtgnMtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2218932},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"613af378fae41682e3edddbf81b0fdaa2967e59d","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.4","eslint":"10.4.0","vitest":"4.1.7","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.13.0_1780590924213_0.9801123205130833","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"dry-aged-deps","version":"2.14.0","license":"MIT","_id":"dry-aged-deps@2.14.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"9474e8dd7210961905d5fe902f4733553ea7f984","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.14.0.tgz","fileCount":376,"integrity":"sha512-1PcGKFvkcRtAbwzUqs+6y/7HzcPkwvpQtGxhYMIfD1ItpriZ6I9mqjyhw3OFezPNsjTZ4xLI40suyReS586RJg==","signatures":[{"sig":"MEQCIClP5UNQGy5FJH5KRBOZBWJiDe7GAonZ5gCBz5DiaMxpAiA1cJEf1M3RKH4B8GC2TGZeCUfsE26JDytydjQu3LsijA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2269291},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f4f12986dbf38fcb7805021c011472efc4461854","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.14.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"4.2.4","eslint":"10.4.0","vitest":"4.1.7","globals":"17.6.0","prettier":"3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.0.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.3","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.0","@commitlint/config-conventional":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.14.0_1780606824283_0.011788506044947411","host":"s3://npm-registry-packages-npm-production"}},"2.14.1":{"name":"dry-aged-deps","version":"2.14.1","license":"MIT","_id":"dry-aged-deps@2.14.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"6eb19d37fff07fbb9f6e816da97cab20789770c5","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.14.1.tgz","fileCount":380,"integrity":"sha512-B+c9xhVXCCaXQyvmj0tALjDkmgIqHa3so7hLynBqgQJDr56O9OKva9Nr5YftfTdh9rkY3XOYNfAx9+yYdyj5Bg==","signatures":[{"sig":"MEYCIQCeaGe4WmHYNsUhRDXZmKRoQW2mMSYfJjtTpFXnYwKBlwIhAMNaNrmMPmQCgmZvlHOo/f4EZHPObRXfZMZUXKxojCLs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2299802},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"c4e26a601da16692905f61d9f454a67f456eb1f0","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.18.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"5.0.11","eslint":"10.6.0","vitest":"4.1.7","globals":"17.7.0","prettier":"3.9.4","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.2.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.5","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.1","@commitlint/config-conventional":"21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.14.1_1783460924713_0.38657138410436964","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"dry-aged-deps","version":"2.15.0","license":"MIT","_id":"dry-aged-deps@2.15.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"19846b2ae187d394340dfb43d9955e1177579340","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.15.0.tgz","fileCount":384,"integrity":"sha512-8XgLzGso5kubvLlWVYMWUYVnFabVlFIaryIda2FFESuarW5fVeD3ZlctYHIVCPJgeSDaCyjeeEy2pjQbUqQkgA==","signatures":[{"sig":"MEUCIQCiDyk2BjWWrLvfVAAiJ9UnB11YkpKMyOvQA8a+4C1yMwIgD9X2Tg3HkKlhzzNfaq+Yw7YG54Qf63SLJJvtW6kID1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2328321},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"59360bbe35ee44224d9a76b61912a4e68f6c6829","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.18.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"5.0.11","eslint":"10.6.0","vitest":"4.1.7","globals":"17.7.0","prettier":"3.9.4","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.2.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.5","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.1","@commitlint/config-conventional":"21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.15.0_1783506405142_0.7495655105180659","host":"s3://npm-registry-packages-npm-production"}},"2.15.1":{"name":"dry-aged-deps","version":"2.15.1","license":"MIT","_id":"dry-aged-deps@2.15.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"a9c2bc9cbd1cfe75e70936b4e28529d5a3476881","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.15.1.tgz","fileCount":384,"integrity":"sha512-GyYz8gVcxmiY1Wr20NhKOkDcoqx9suIZKornTCE1EfTVcJeXSMwi9BUIlvB3cENKE/YpmdYTT/Il7vpboE0/0Q==","signatures":[{"sig":"MEQCIGKBKWaTuxmo6nkZ3uZYnYAtBZ0c7w0hcPotIQNfBdM5AiB2a6baahWD5iuaPAGZ2M3eVWvUh6qq1PIQOqi3MXBaHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2334820},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"7f427b3c2949aa6a64bf343e14383ff74f0038f3","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.18.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"5.0.11","eslint":"10.6.0","vitest":"4.1.7","globals":"17.7.0","prettier":"3.9.4","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.2.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.5","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.1","@commitlint/config-conventional":"21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.15.1_1783511760156_0.26554924142310044","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"dry-aged-deps","version":"2.16.0","license":"MIT","_id":"dry-aged-deps@2.16.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"49d2ab957a866715bdd76c3b3c2e8f4703ce4fad","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.16.0.tgz","fileCount":392,"integrity":"sha512-JQaxyYCL/SPeXzAU2BJUt2If7zeHpdjJuEQQLDGiC+y6ikUoXkSOl4d/Iq3aAMut46vJ9x4hDohNq/B+Jv+0bA==","signatures":[{"sig":"MEUCIQCNQjKjSdUuGf4VBiG0nu4U91XOgiRRuOLHORzO3o466gIgdP2MaQL4V1s9yl3FkXU0o5DOxu8jIk0YmYJIHJ8/9Mw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2380568},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"03ab69d0e4a38ae27cda4cb906dcebbecd0f34c2","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.18.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"5.0.11","eslint":"10.6.0","vitest":"4.1.7","globals":"17.7.0","prettier":"3.9.4","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.2.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.5","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.1","@commitlint/config-conventional":"21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.16.0_1783653838829_0.6533581185671076","host":"s3://npm-registry-packages-npm-production"}},"2.16.1":{"name":"dry-aged-deps","version":"2.16.1","license":"MIT","_id":"dry-aged-deps@2.16.1","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"44b07a8a117e30794ca94333657da6e22ec32ad7","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.16.1.tgz","fileCount":400,"integrity":"sha512-LMfWYuxQQe66CtmEVUQOYNizWhivw1KWtR/DqY8BRpQ3wtoL0Yb1DK4J0hPfJBQYJtbR0hxYEucuF2eU3DgK2A==","signatures":[{"sig":"MEYCIQD+CbgQgZDCpJyrUTUleODKE8m7Ep9CV2/QBISeYo6hPgIhAJQYJNTps/HEr70bkxBZ85QpQEbVyZXMFZFiNtjfOUum","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2415781},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"51ca001dec209db1f047f0659407c022f00bf32c","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.18.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1","husky":"9.1.7","jscpd":"5.0.11","eslint":"10.6.0","vitest":"4.1.7","globals":"17.7.0","prettier":"3.9.4","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.9.1","@commitlint/cli":"21.2.0","better-npm-audit":"^3.11.0","semantic-release":"25.0.5","@vitest/coverage-v8":"4.1.7","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.1","@commitlint/config-conventional":"21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.16.1_1783739769226_0.2126141033771496","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"dry-aged-deps","version":"2.17.0","license":"MIT","_id":"dry-aged-deps@2.17.0","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"dist":{"shasum":"04370876fdbe6983f3b08848f74115af6a5b1759","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.17.0.tgz","fileCount":408,"integrity":"sha512-XohoIOedi56+fyQnWBjCLKAZRp5AEY8/Lf/ibEgoWD9T5oiUkg7akUCSYBVu8YYpUvqUedg+BMtsbD27PK1T5A==","signatures":[{"sig":"MEUCIE2vBix5u3S46EEZY8OMvmt0OWjpkkMiN1adWg46wT17AiEAijZ449RRD1pwDRQwLlImQFecyWQsyV9DQQgt9bmkcHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2499332},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f0cb373c31c9a9922d7ef1a6db0e98def46b5621","scripts":{"lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","build":"echo 'No build step required'","start":"node ./bin/dry-aged-deps.js","format":"prettier --write .","prepare":"husky install .husky","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","audit:ci":"node scripts/audit-resolve.cjs","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","validate":"npm run lint && npm test","typecheck":"npm run type-check","audit:json":"npm audit --json || exit 0","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh","test:watch":"vitest --coverage","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","format:check":"prettier --check .","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"overrides":{"ip":"^2.0.2","tar":"^7.5.10","glob":"^11.1.0","socks":"^2.7.2","semver":"^7.5.2","js-yaml":"^4.1.1","brace-expansion":"^5.0.6","http-cache-semantics":"^4.1.1"},"repository":{"url":"git+https://github.com/voder-ai/dry-aged-deps.git","type":"git"},"_npmVersion":"11.18.0","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"execa":"10.0.0","husky":"9.1.7","jscpd":"5.0.12","eslint":"10.7.0","vitest":"4.1.10","globals":"17.7.0","prettier":"3.9.4","@eslint/js":"^10.0.1","typescript":"^7.0.2","@types/node":"26.1.1","@commitlint/cli":"21.2.1","better-npm-audit":"^3.11.0","semantic-release":"25.0.5","@vitest/coverage-v8":"4.1.10","@semantic-release/npm":"13.1.5","eslint-plugin-security":"4.0.1","@commitlint/config-conventional":"21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dry-aged-deps_2.17.0_1785022651806_0.8501019823626039","host":"s3://npm-registry-packages-npm-production"}},"2.17.1":{"name":"dry-aged-deps","version":"2.17.1","type":"module","bin":{"dry-aged-deps":"bin/dry-aged-deps.js"},"engines":{"node":">=18.0.0"},"scripts":{"build":"echo 'No build step required'","format":"prettier --write .","format:check":"prettier --check .","start":"node ./bin/dry-aged-deps.js","test":"node scripts/run-with-timeout.mjs 300 -- vitest run --coverage","test:watch":"vitest --coverage","test:cli":"node scripts/run-with-timeout.mjs 300 -- vitest run","check:lockfile":"npm install --ignore-scripts --package-lock-only && git diff --exit-code -- package-lock.json","check:duplication":"jscpd --threshold 20 src","audit:ci":"node scripts/audit-resolve.cjs","audit:json":"npm audit --json || exit 0","lint":"node node_modules/eslint/bin/eslint.js --config eslint.config.js --format stylish . --ext .js","lint:commits":"commitlint --from=HEAD~1 --to=HEAD","prepare":"husky install .husky","typecheck":"npm run type-check","type-check":"node node_modules/typescript/bin/tsc --noEmit -p tsconfig.json","validate":"npm run lint && npm test","prepush":"npm run lint:commits && npm run lint && npm run type-check && npm run format:check && npm test && npm run check:lockfile && npm run check:duplication && npm run test:cli && npm run test:cli -- test/cli.e2e.real-fixture.test.js && npm run audit:ci","release":"npm version patch && git push --follow-tags","check:deps":"node ./bin/dry-aged-deps.js --check","push:watch":"bash scripts/push-watch.sh"},"devDependencies":{"@commitlint/cli":"21.2.1","@commitlint/config-conventional":"21.2.0","@eslint/js":"^10.0.1","@semantic-release/npm":"13.1.5","@types/node":"26.1.1","@vitest/coverage-v8":"4.1.10","better-npm-audit":"^3.11.0","eslint":"10.7.0","eslint-plugin-security":"4.0.1","execa":"10.0.0","globals":"17.7.0","husky":"9.1.7","jscpd":"5.0.12","prettier":"3.9.4","semantic-release":"25.0.5","typescript":"^7.0.2","vitest":"4.1.10"},"publishConfig":{"provenance":true},"repository":{"type":"git","url":"git+https://github.com/voder-ai/dry-aged-deps.git"},"license":"MIT","overrides":{"brace-expansion":"^5.0.6","glob":"^11.1.0","http-cache-semantics":"^4.1.1","ip":"^2.0.2","js-yaml":"^4.1.1","semver":"^7.5.2","socks":"^2.7.2","tar":"^7.5.10"},"main":"src/index.js","gitHead":"638e452472a5813c7e3c2748280bdcc8793bbf10","_id":"dry-aged-deps@2.17.1","description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"homepage":"https://github.com/voder-ai/dry-aged-deps#readme","_nodeVersion":"22.23.1","_npmVersion":"11.18.0","dist":{"integrity":"sha512-qEUZFpPdQ93+i44EcMnSaJodKtGURpKo7emiHzlCqpjtLeVXMzf1u8A+J/6YoJ7FCaqZCzYcnaPrvUF7J/4eeQ==","shasum":"5f47d5fdb5fa1d56a3ec7f5cb2f6741ae1be11a1","tarball":"https://registry.npmjs.org/dry-aged-deps/-/dry-aged-deps-2.17.1.tgz","fileCount":411,"unpackedSize":2517834,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dry-aged-deps@2.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCUWOZhEsgYIwEKJ8WneCyeNlFYykTEATw5TQ0jkcRVGwIgNZ4B530Vyy3HoqeFbitTS/N8DcG/B8JQt4H3u4cK0OU="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d9a4829d-7da8-429d-961e-f6f314bd430b"}},"directories":{},"maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dry-aged-deps_2.17.1_1785033823715_0.055701516941267126"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-08T07:59:13.710Z","modified":"2026-07-26T02:43:44.166Z","0.2.0":"2025-11-08T07:59:13.947Z","0.4.8":"2025-11-08T21:54:16.952Z","0.5.0":"2025-11-09T19:59:15.062Z","0.6.0":"2025-11-09T20:19:36.192Z","0.7.0":"2025-11-09T22:13:56.503Z","0.8.0":"2025-11-10T00:37:56.384Z","0.9.0":"2025-11-10T01:36:35.007Z","1.0.0":"2025-11-10T10:02:38.700Z","1.1.0":"2025-11-10T11:20:32.330Z","1.2.0":"2025-11-10T19:22:53.558Z","1.3.0":"2025-11-10T21:42:48.729Z","1.3.1":"2025-11-11T08:36:56.666Z","1.3.2":"2025-11-12T10:18:03.059Z","1.4.0":"2025-11-12T13:13:05.919Z","1.5.0":"2025-11-12T15:42:17.591Z","1.6.0":"2025-11-12T18:31:59.591Z","1.7.0":"2025-11-13T01:39:35.572Z","1.8.0":"2025-11-13T04:35:11.642Z","1.8.1":"2025-11-13T08:10:23.744Z","1.9.0":"2025-11-13T15:47:36.409Z","1.10.0":"2025-11-13T18:02:42.625Z","1.11.0":"2025-11-13T19:59:23.323Z","1.12.0":"2025-11-13T23:08:02.216Z","1.13.0":"2025-11-14T02:44:30.339Z","1.14.0":"2025-11-14T05:20:19.925Z","1.14.1":"2025-11-14T06:17:36.979Z","1.15.0":"2025-11-14T08:54:52.163Z","1.15.1":"2025-11-14T10:47:46.368Z","1.15.2":"2025-11-14T16:29:49.478Z","1.16.0":"2025-11-14T18:26:12.146Z","1.17.0":"2025-11-14T20:35:15.074Z","1.17.1":"2025-11-15T00:17:29.187Z","1.18.0":"2025-11-15T02:31:05.000Z","2.0.0":"2025-11-15T06:45:28.365Z","2.0.1":"2025-11-16T01:19:29.262Z","2.0.2":"2025-11-16T02:04:18.456Z","2.0.3":"2025-11-16T04:14:02.936Z","2.0.4":"2025-11-16T05:51:46.812Z","2.1.0":"2025-11-16T06:47:48.766Z","2.1.1":"2025-11-16T08:41:04.265Z","2.2.0":"2025-11-16T13:42:36.125Z","2.2.1":"2025-11-17T03:22:15.955Z","2.3.0":"2025-11-17T06:01:45.438Z","2.3.1":"2025-11-19T01:10:58.208Z","2.3.2":"2025-12-02T17:36:56.405Z","2.4.0":"2025-12-04T19:38:24.439Z","2.4.1":"2025-12-07T12:48:23.443Z","2.5.0":"2025-12-09T22:04:28.359Z","2.5.1":"2025-12-15T03:52:52.998Z","2.5.2":"2026-03-03T11:28:36.233Z","2.6.0":"2026-03-03T22:24:07.182Z","2.7.0":"2026-05-12T10:56:03.246Z","2.7.1":"2026-05-12T21:43:16.383Z","2.7.2":"2026-05-13T21:52:04.392Z","2.7.3":"2026-05-16T05:17:58.794Z","2.8.0":"2026-05-17T12:33:53.037Z","2.9.0":"2026-05-18T11:41:33.175Z","2.10.0":"2026-05-24T15:16:29.459Z","2.10.1":"2026-05-24T15:54:13.567Z","2.10.2":"2026-05-30T02:45:09.761Z","2.10.3":"2026-05-30T03:08:45.801Z","2.11.0":"2026-06-02T04:04:30.453Z","2.11.1":"2026-06-02T04:33:13.376Z","2.12.0":"2026-06-03T01:31:59.344Z","2.13.0":"2026-06-04T16:35:24.365Z","2.14.0":"2026-06-04T21:00:24.478Z","2.14.1":"2026-07-07T21:48:44.889Z","2.15.0":"2026-07-08T10:26:45.372Z","2.15.1":"2026-07-08T11:56:00.314Z","2.16.0":"2026-07-10T03:23:58.999Z","2.16.1":"2026-07-11T03:16:09.434Z","2.17.0":"2026-07-25T23:37:32.005Z","2.17.1":"2026-07-26T02:43:43.892Z"},"bugs":{"url":"https://github.com/voder-ai/dry-aged-deps/issues"},"license":"MIT","homepage":"https://github.com/voder-ai/dry-aged-deps#readme","repository":{"type":"git","url":"git+https://github.com/voder-ai/dry-aged-deps.git"},"description":"> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.","maintainers":[{"name":"tompahoward","email":"tom@windyroad.com.au"}],"readme":"# 🥩 dry-aged-deps\n\n> Like a fine steak, some dependencies are better aged. Unlike a fine steak, malicious ones won't just give you food poisoning.\n\n[![Build Status](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml/badge.svg?branch=main)](https://github.com/voder-ai/dry-aged-deps/actions/workflows/ci-publish.yml)\n\n## ⚠️ The Problem\n\nRunning `npm outdated` shows you _every_ available update, but that's a bit like drinking wine straight from the fermenting vat. Not all updates are ready for consumption:\n\n- **Supply chain attacks**: Compromised maintainer accounts can push malicious versions\n- **Rushed releases**: That \"critical bug fix\" released 2 hours ago might need its own bug fix in 3 hours\n\nYou need time to let the community kick the tires, spot the issues, and validate that a new version is actually safe to use.\n\n## ✨ The Solution\n\n`dry-aged-deps` wraps `npm outdated` and filters results to only show updates that are both:\n\n1. **Mature** (≥7 days old by default) - giving the community time to catch issues\n2. **Secure** (no known vulnerabilities) - because sometimes old things go bad\n\nThink of it as `npm outdated` with a patience and a security guard.\n\n**What's new**: [un-landable updates](#un-landable-updates) are now flagged and skipped — a safe update whose peer graph won't resolve (an npm `ERESOLVE`) no longer poisons the rest of the batch, and surfaces with reason `incompatible-peers` instead.\n\n## 🚀 Getting Started\n\n### Installation\n\n```sh\nnpm install -g dry-aged-deps\n```\n\n### Usage\n\n```sh\ndry-aged-deps\n```\n\n**What you get:**\n\n- Packages with versions ≥7 days old (not that rushed release from yesterday)\n- No known vulnerabilities (because security matters)\n- npm outdated-style output (familiar format, better filtering)\n\n### Options\n\n| Flag                    | Description                                                                                                                                                                                     |\n| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| -h, --help              | Show help information                                                                                                                                                                           |\n| -v, --version           | Show the CLI version                                                                                                                                                                            |\n| --format=<format>       | Output format: table (default), json, xml                                                                                                                                                       |\n| --min-age=<days>        | Minimum age in days (1-365) for including versions (default: 7)                                                                                                                                 |\n| --prod-min-age=<days>   | Minimum age for production dependencies (falls back to --min-age)                                                                                                                               |\n| --dev-min-age=<days>    | Minimum age for development dependencies (falls back to --min-age)                                                                                                                              |\n| --severity=<level>      | Vulnerability severity threshold: none, low, moderate, high, critical (default: none)                                                                                                           |\n| --prod-severity=<level> | Severity threshold for production dependencies (falls back to --severity)                                                                                                                       |\n| --dev-severity=<level>  | Severity threshold for development dependencies (falls back to --severity)                                                                                                                      |\n| --config-file=<file>    | Path to JSON config file (default: .dry-aged-deps.json). CLI flags override config file values                                                                                                  |\n| --check                 | Check mode: exit code 1 if safe updates available (including override pins with a safe upgrade target), 0 if none, 2 on error (consistent across table, JSON, and XML formats)                  |\n| --update                | Update dependencies to latest safe versions, then reconcile `package-lock.json` (via `npm install --ignore-scripts --package-lock-only`) so the result is immediately installable with `npm ci` |\n| -y, --yes               | Skip confirmation prompts (assume yes)                                                                                                                                                          |\n| --no-overrides-hygiene  | Disable the package.json overrides hygiene surface (default: on). See [Overrides hygiene](#overrides-hygiene) below.                                                                            |\n| --exposure-aware-soak   | Enable exposure-aware soak: shorten the per-package maturity window under Critical/High current vuln exposure (default: off). See [Exposure-aware soak](#exposure-aware-soak) below.            |\n| --no-landable-check     | Disable the landability check (default: on). See [Un-landable updates](#un-landable-updates) below.                                                                                             |\n\n### Examples\n\n```sh\n# Show help\ndry-aged-deps --help\n\n# Show version\ndry-aged-deps --version\n\n# Analyze dependencies with default settings (7 days old, no vulnerabilities)\ndry-aged-deps\n\n# Require updates to be at least 14 days old\ndry-aged-deps --min-age=14\n\n# Apply stricter rules to production dependencies\ndry-aged-deps --prod-min-age=30 --dev-min-age=7\n\n# Allow low/moderate vulnerabilities in dev dependencies, but not production\ndry-aged-deps --prod-severity=none --dev-severity=moderate\n\n# Combine age and severity thresholds\ndry-aged-deps --prod-min-age=30 --prod-severity=none --dev-min-age=7 --dev-severity=high\n\n# Preview update (requires confirmation)\ndry-aged-deps --update\n\n# Apply updates without confirmation\ndry-aged-deps --update --yes\n# (--update also reconciles package-lock.json incrementally, so `npm ci --prefer-frozen-lockfile` keeps working)\n\n# Check for safe updates (exit code 1 if safe updates available, including override pins with a safe upgrade target; 0 if none; 2 on error — consistent across table, JSON, and XML formats)\ndry-aged-deps --check\n\n# Specify a custom configuration file\ndry-aged-deps --config-file=custom-config.json\n\n# Check using a specific configuration file\ndry-aged-deps --check --config-file=custom-config.json\n\n# Opt out of the overrides hygiene surface (default: on)\ndry-aged-deps --no-overrides-hygiene\n\n# Opt in to exposure-aware soak (shortens per-package maturity window under Critical/High current exposure)\ndry-aged-deps --exposure-aware-soak\n\n# Combine with stricter prod soak — exposure shortening only applies to packages with current exposure\ndry-aged-deps --exposure-aware-soak --prod-min-age=30\n```\n\n```sh\n# Example: using a configuration file\n# Create a .dry-aged-deps.json file:\ncat << 'EOF' > .dry-aged-deps.json\n{\n  \"minAge\": 14,\n  \"severity\": \"low\",\n  \"prod\": {\n    \"minAge\": 30,\n    \"minSeverity\": \"moderate\"\n  },\n  \"dev\": {\n    \"minAge\": 7,\n    \"minSeverity\": \"high\"\n  },\n  \"format\": \"table\"\n}\nEOF\n\n# Run without flags to use config file values\ndry-aged-deps\n```\n\n### Invalid option error examples\n\n```sh\n$ dry-aged-deps --json\nError: Unknown option '--json'\nDid you mean '--format=json'?\nUse 'dry-aged-deps --help' to see all available options.\n\n$ dry-aged-deps --format=yaml\nError: Invalid format: yaml. Valid values are: table, json, xml\nUse 'dry-aged-deps --help' for more information.\n```\n\n### Output Formats\n\nUse the `--format` option to specify the output format:\n\n- JSON: `dry-aged-deps --format=json`\n- XML: `dry-aged-deps --format=xml`\n\n## CI/CD Integration\n\nTo enforce dependency freshness in your CI/CD pipeline, use the `--check` flag. Below is an example GitHub Actions workflow that checks for safe updates, fails on detection, and shows available updates on failure:\n\n```yaml\n# GitHub Actions - Enforce dependency freshness\nname: Check Dependencies\non: [pull_request]\n\njobs:\n  check-deps:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n\n      - name: Check for outdated dependencies\n        run: npx dry-aged-deps --check\n        # Fails if safe updates are available\n\n      - name: Show available updates on failure\n        if: failure()\n        run: npx dry-aged-deps --format=json\n```\n\n## Exit Codes\n\n- `0`: No safe updates available (success).\n- `1`: Safe updates available (failure). Fires when a safe direct-dependency upgrade exists, **or** when a `package.json` `overrides` pin has a safe upgrade target available (see [Overrides hygiene](#overrides-hygiene) below). Override pins that are stale or vulnerable without a safe upgrade target surface informationally and do **not** widen this trigger — they match the [unfixable](#known-vulnerabilities-without-safe-fix) precedent.\n- `2`: Execution error (invalid input or unexpected exceptions).\n\n### Overrides hygiene\n\n`dry-aged-deps` parses the `package.json` `overrides` block on every run (default on; `--no-overrides-hygiene` to opt out). Each pinned override is aged against the npm registry and cross-referenced against `npm audit` advisory ranges. Findings render in the table / JSON / XML outputs under `Override hygiene` / `overridesHygiene` / `<overridesHygiene>`. A finding with a non-null `safeUpgrade` field counts toward the `--check` exit-1 trigger (above); findings without a safe upgrade target are informational.\n\n### Un-landable updates\n\nSome safe, mature updates cannot actually be installed: the package's peer-dependency graph won't resolve without `npm install --force` / `--legacy-peer-deps` (an npm `ERESOLVE`), usually because another dependency is too stale to declare a compatible peer range. `dry-aged-deps` checks landability on every run (default on; `--no-landable-check` to opt out) by resolving the prospective update set with npm's own resolver, and it **never** passes `--force`.\n\nAn un-landable update is flagged and skipped rather than attempted: it drops out of the safe-update set (so it does not count toward the `--check` exit-1 trigger, keeping `--check` and `--update` in agreement), and the rest of the batch still lands — one un-resolvable peer no longer poisons every other update. Skipped updates surface as a separate section in the table (`Updates skipped (incompatible peer dependencies)`), JSON (`incompatible`), and XML (`<incompatible>`), each with reason `incompatible-peers`, so you can plan a manual resolution (bump the blocking peer, or replace an unmaintained dependency). The landability probe runs `npm install --ignore-scripts --package-lock-only` against a copy of your manifest; on a batch that resolves cleanly it adds one resolve step, and it only bisects to isolate a culprit when a batch actually fails.\n\n### Deprecated dependencies\n\n`dry-aged-deps` reads the npm registry `deprecated` field for each outdated package on every run — it rides the same `npm view` call already used to age versions, so there is no extra request. When a package's latest version has been deprecated by its maintainer, the verbatim npm deprecation message is surfaced in a dedicated section of the table (`Deprecated dependencies`), JSON (`deprecated` array of `{ name, version, message }`), and XML (`<deprecated>`).\n\nThe surface is **advisory-only**: the message is shown exactly as the maintainer wrote it — if they named a replacement package or a migration URL, you see it and decide for yourself — and `dry-aged-deps` never parses it, recommends a replacement, or acts on it. Deprecation does **not** widen the `--check` exit-1 trigger and does **not** change what `--update` applies; it matches the [un-landable](#un-landable-updates) / [unfixable](#known-vulnerabilities-without-safe-fix) informational precedent (unlike an overrides-hygiene `safeUpgrade`, which is actionable and does trigger exit-1). The tool surfaces the signal; you (or an LLM acting for you) decide the migration.\n\n### Exposure-aware soak\n\n`dry-aged-deps` waits `--min-age` days before recommending an update — a cheap proxy for \"this release has been vetted.\" But when you are sitting on a known-vulnerable version and the fix is fresh, the right wait is shorter, not longer. `--exposure-aware-soak` (opt-in, default off) shortens the per-package maturity window in proportion to your current `npm audit` exposure severity:\n\n| Current exposure severity | Maturity-window modifier    |\n| ------------------------- | --------------------------- |\n| Critical                  | 0.0 × default (0-day floor) |\n| High                      | 0.5 × default               |\n| Moderate / Low / None     | 1.0 × default (unchanged)   |\n\nThe modifier scales whatever `--min-age` you set — it does not hard-code a 7-day base. A `--min-age=14` operator under Critical exposure sees the same 0-day floor; under High exposure they see 7 days. Sibling packages without current exposure preserve the full operator-set minimum age. This is the per-package alternative to the global `--min-age=0` workaround.\n\n**Composition with `--severity`**: the two axes are orthogonal. `--severity` / `--prod-severity` / `--dev-severity` gate whether the candidate version is clean (a candidate carrying a vuln is excluded regardless of how old it is). `--exposure-aware-soak` scales the maturity window for the version you are currently sitting on. The cleanness gate runs before the age gate — a vulnerable candidate still fails cleanness even when Critical current exposure would otherwise relax the age gate.\n\n**Exit-code semantics unchanged**: `--check` exits 1 when safe updates are available. The modifier shifts which updates qualify as safe (an exposure-modified row joins the safe-update set when the floor is met), but does not add a new exit-1 trigger.\n\n**Default-off rationale**: this preserves JTBD-006 (Trust that the default policy is sensibly safe) for non-opt-in users — out-of-the-box behaviour is unchanged on this minor. The opt-in path extends JTBD-001 (See which dependencies have safe updates available) to the inverse case where a fix is too fresh to clear the unconditional age gate, but the current exposure warrants surfacing it anyway. Graduation to opt-out is a v2 decision requiring its own ADR and changelog entry — see the v2 graduation triggers below.\n\n**v2 graduation triggers**:\n\n1. `--exposure-aware-soak` enabled in CI for at least one calendar month with no operator-reported regression of trust or safety expectations.\n2. No locked-policy violations observed (Critical → 0 and High → 0.5 hold across opt-in usage).\n3. Evidence that the policy materially reduced operator override frequency (`--min-age=0`-by-hand cases) without surfacing previously-hidden risk.\n\nIf any trigger fails or evidence accumulates that the locked policy needs amendment, the v2 ADR records the policy change before the default flips.\n\nThese exit codes are consistent across table, JSON, and XML output.\n\n## Advanced Usage\n\nFor programmatic API access and detailed architectural overview, see:\n\n- docs/api.md\n- docs/architecture.md\n\n## Development\n\n### Local Development Setup\n\n1. Clone the repository\n2. Install dependencies: `npm ci --prefer-frozen-lockfile`\n3. Install Git hooks: `npm run prepare`\n4. The pre-push hook now enforces commitlint, lockfile drift check, lint, type-check, formatting checks, unit tests, CLI tests, duplicate code detection, and vulnerability scan before allowing a push.\n5. Run tests: `npm test`\n6. Run linter: `npm run lint`\n7. Run type-check: `npm run typecheck`\n8. Validate code and tests: `npm run validate`\n9. Format code: `npm run format`\n\n### Development Tooling (Optional)\n\nIf you're using AI development assistants (like Voder), you can configure environment variables by:\n\n1. Copy `.env.example` to `.env`\n2. Open `.env` and replace the placeholder values with your actual API keys, tokens, and preferences\n3. The `.env` file is gitignored and will never be committed\n\nSee `.env.example` for the full list of required environment variables.\n\n**Note:** The environment variables in `.env` are only used by development tooling and do not affect the `dry-aged-deps` application at runtime.\n\n## Troubleshooting\n\n- Ensure Node.js v18 or later is installed (we're not _that_ conservative about ages)\n- If you get permission errors during global installation, try using `sudo` or configure npm permissions\n- Verify your package.json is valid JSON to avoid parsing errors\n- Check network connectivity if npm registry requests fail\n- For a complete security audit including development dependencies, run `npm audit --audit-level=moderate` (omit the `--production` flag).\n\n## Attribution\n\nCreated autonomously by [voder.ai](https://voder.ai)\n","readmeFilename":"README.md"}