{"_id":"@aforemendude/upgrade-npm-packages","_rev":"11-158a37662c02dd92a14ec52b0f722e30","name":"@aforemendude/upgrade-npm-packages","dist-tags":{"latest":"4.0.2"},"versions":{"1.0.1":{"name":"@aforemendude/upgrade-npm-packages","version":"1.0.1","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@1.0.1","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"d428ca5ebb4ba06a61eac872d46ad1c76ab542f3","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-1.0.1.tgz","fileCount":8,"integrity":"sha512-GyK/tuMVOaAadmc3GB7PYVQp5N1nDv3Qrbok2NXutlQ1FQuDNknCoNJdTvvBhPzITGgdXd7s7NY1SnxlzpMQtg==","signatures":[{"sig":"MEUCIQCKz0x/xNY4FjOQ5245nb7LQCaHLDsBBJltrBy7F+qN+QIgUPnB0uMikGNQ0FQx3pxRtO1ZAsz/nxKbFd6KZohEZP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20919},"main":"./dist/index.js","engines":{"node":">=18"},"gitHead":"05482c730e293c69e0725713f85d82d3c23b477d","scripts":{"test":"vitest run","build":"rm -rf dist && tsc && chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write .","verify":"npm install && npm run format:check && npm run build && npm run test","prepack":"npm run verify","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.13.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"cross-spawn":"7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.7","prettier":"3.8.3","typescript":"6.0.3","@types/node":"24.12.4","@types/cross-spawn":"6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_1.0.1_1780551041728_0.3809009557845422","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aforemendude/upgrade-npm-packages","version":"1.0.2","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@1.0.2","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"6c55875342ff5e3773fd23419b018924268457af","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-1.0.2.tgz","fileCount":8,"integrity":"sha512-WO1LSNkcpW9NfcFhaSz/ebKJRRvevI/HePuSZfN1rAmIymdu0MzfnPgtPjOB6KbxdnHL7q2Ey8t2OEsaJThMKw==","signatures":[{"sig":"MEQCICcV151GQdzMW6NgKXo+eIf/Z0S4zdWoV15mP0kXvNlbAiBxwRtV7V1dxDNNwFGPLSjm4EntC1TeKB0k9+Nxj8qIcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21080},"main":"./dist/index.js","engines":{"node":">=18"},"gitHead":"7d2a27df82477fac8bfb23464076587c6f7175c9","scripts":{"test":"vitest run","build":"rm -rf dist && tsc && chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write .","verify":"npm install && npm run format:check && npm run build && npm run test","prepack":"npm run verify","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.13.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"semver":"7.8.2","cross-spawn":"7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.7","prettier":"3.8.3","typescript":"6.0.3","@types/node":"24.12.4","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_1.0.2_1780709581689_0.9424615025338303","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aforemendude/upgrade-npm-packages","version":"1.0.3","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@1.0.3","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"9ad2944acab3e02d4935a4c1fc5403333e383294","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-1.0.3.tgz","fileCount":8,"integrity":"sha512-rsBXzW5ypHos+wqxxmYjNRT9K3CeHR/NcIIXB4kHY8fqxxNxTECc/KKrfdmW0UssoVcvsALvOL0B6sYXzC9ioQ==","signatures":[{"sig":"MEUCICVRKJQXR65Ua6anwHXNIk1YO0pxwGGHRY3rOS/cOGqXAiEAvGnhT77kc0HD0S7Ab7MuJbFUCljeMFzouSsjLqiABAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21065},"main":"./dist/index.js","engines":{"node":">=18"},"gitHead":"82a8811bad257ca4513bdda875db66163a6bc9ce","scripts":{"test":"vitest run","build":"rm -rf dist && tsc && chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write .","verify":"npm install && npm run format:check && npm run build && npm run test","prepack":"npm run verify","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.13.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"semver":"7.8.2","cross-spawn":"7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.7","prettier":"3.8.3","typescript":"6.0.3","@types/node":"24.12.4","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_1.0.3_1780710444098_0.05775454407344971","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@aforemendude/upgrade-npm-packages","version":"2.0.0","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@2.0.0","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"03168a922db91d149f87fc64116cefc05a57402e","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-2.0.0.tgz","fileCount":9,"integrity":"sha512-htgKId3jBdALK5P+eVoXsKlp9pchSl6vymSAUWy6/b52O7rjx/XFoC82O6rby1oPZdX031QFqBTfFj0IZcfd5w==","signatures":[{"sig":"MEQCICkanDPPP4mcs8R+H9S3FoumpkTiGYUEjpgD2cu/0DiDAiAHmgYuBk6o7u3W5Sm3GktT4vEofmgXlbe589KA80WsZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24728},"main":"./dist/index.js","engines":{"node":">=18"},"gitHead":"88a4bbd656f52189a582a334080b5886487d7661","scripts":{"test":"vitest run","build":"rm -rf dist && tsc && chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write .","verify":"npm install && npm run format:check && npm run build && npm run test","prepack":"npm run verify","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.13.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"semver":"7.8.2","cross-spawn":"7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.7","prettier":"3.8.3","typescript":"6.0.3","@types/node":"24.12.4","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_2.0.0_1780796271269_0.004626334453113223","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@aforemendude/upgrade-npm-packages","version":"2.1.0","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@2.1.0","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"65ffebe5b818536eb186fb08f99d0888cabb6a88","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-2.1.0.tgz","fileCount":9,"integrity":"sha512-+2wceYPjE1ge28SRDL4tgOHmagdBEmokGvqISGPEFenl0I1NzwOySOe6LZu7kUVwwjEZ6MH6fRMBbwxT/8la2w==","signatures":[{"sig":"MEQCIE1UXXVYZjGvfu73T5dksaw7HBeFg3yGzCko/k2Qusg4AiAcH9/dafdwukGp+hkPnLvf7ziIntHnSAShnFflVX6gag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27171},"main":"./dist/index.js","engines":{"node":">=18"},"gitHead":"a7cf90eb983da39b4aa66c17367919985958ebc4","scripts":{"test":"vitest run","build":"rm -rf dist && tsc && chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write .","verify":"npm install && npm run format:check && npm run build && npm run test","prepack":"npm run verify","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.13.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"semver":"7.8.2","cross-spawn":"7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.7","prettier":"3.8.3","typescript":"6.0.3","@types/node":"24.12.4","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_2.1.0_1780804345753_0.028877634881737668","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@aforemendude/upgrade-npm-packages","version":"2.1.1","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@2.1.1","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"7fbe32535a4e8ad9d3377db003f358acdea40acc","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-2.1.1.tgz","fileCount":9,"integrity":"sha512-3O6jAbhCErr1c1DWy5srZ/IBCYTPAhXwTFFINLLoW4WH94w+y2H/+esglLGVpVwWEttNXC04Xpr+5xTX605fBw==","signatures":[{"sig":"MEUCIC4q2ck4pP/dqfU/+uOMMIchidD+9u1vyc389SO2nmi5AiEAmv3h/57ZDQfmwAeNkG7udzsgRgjngoDiinZMK9eKLL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26743},"main":"./dist/index.js","engines":{"node":">=18"},"gitHead":"05d08b434a422090cdc36a499b77544810d104f7","scripts":{"test":"vitest run","build":"rm -rf dist && tsc && chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write .","verify":"npm install && npm run format:check && npm run build && npm run test","prepack":"npm run verify","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.13.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"semver":"7.8.2","cross-spawn":"7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.7","prettier":"3.8.3","typescript":"6.0.3","@types/node":"24.12.4","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_2.1.1_1780805403516_0.48563487007245043","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@aforemendude/upgrade-npm-packages","version":"2.1.2","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@2.1.2","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"679a8f547098d503303294ee26660cc54a94b23e","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-2.1.2.tgz","fileCount":9,"integrity":"sha512-rmpORGBiNSAhpin4EcdT9RkfwvDNijE2v0JpjHMuwl9ugILGfOYEzkNjy0Cbl+km4yvTHA70o+4uc6ZxUUcPBw==","signatures":[{"sig":"MEYCIQCensmOVDOqfEjzFTbV5ATBRjruD1FYZaxZyYPQH1YfPgIhAOza3rZN4xzjOQMnbqHX7qkcBMOje+DRczhGHFYiBW9h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27530},"main":"./dist/index.js","engines":{"node":">=18"},"gitHead":"d7c26479dbc34df79c615fa709756215d9725071","scripts":{"test":"vitest run","build":"rm -rf dist && tsc && chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write .","verify":"npm install && npm run format:check && npm run build && npm run test","prepack":"npm run verify","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"semver":"7.8.2","cross-spawn":"7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.7","prettier":"3.8.3","typescript":"6.0.3","@types/node":"24.12.4","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_2.1.2_1785567870466_0.35035213913331087","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@aforemendude/upgrade-npm-packages","version":"3.0.0","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@3.0.0","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"ad86e7dece3775a4b0725ce5c0b8c5500322d690","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-3.0.0.tgz","fileCount":24,"integrity":"sha512-h+XAYXF1aDvvNixBiRncT3ll4eh4SiYT2S+GR9PndmF/1zlcWCcBY+FFKyTUilBMcPTVPrT90aXtojWd2HI8WA==","signatures":[{"sig":"MEUCIQCBRQH5M6hrdMWKHZAxEu1ZK7b+Gp6XSV0Z6N9WOFStvAIgN2uGDGgnAfKzxfgUPEWYNHyF/n3vSTj8c5nMakpc990=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38956},"main":"./dist/index.js","engines":{"node":">=20.0.0"},"gitHead":"f840eb43793f2e8bd530f232d7ba8da841d5d9d0","scripts":{"test":"vitest run","build":"rm -rf dist && tsc && chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write .","verify":"npm install && npm run format:check && npm run build && npm run test","prepack":"npm run verify","test:watch":"vitest","format:check":"prettier --check ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"semver":"7.8.5","cross-spawn":"7.0.6","npm-package-arg":"11.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","prettier":"3.9.6","typescript":"7.0.2","@types/node":"20.19.43","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6","@types/npm-package-arg":"6.1.4"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_3.0.0_1785656233688_0.05147006018449751","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@aforemendude/upgrade-npm-packages","version":"4.0.0","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@4.0.0","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"cd1728726c79ab278678b2cc94b1bb4324352b1b","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-4.0.0.tgz","fileCount":25,"integrity":"sha512-UXF33AIEB3TLyGSNEvSKmVqnPhFkOV2/zkmueMm91nVsKXljMQo6YnQC/GPLg5wicth92wLpQHa0d1n3PNJgNQ==","signatures":[{"sig":"MEUCIEfVcQe33gAoIjJv/v25WSPla3on+8kpsMWijvhX+AP5AiEAoDX7BRTA67oxuluFkE8Jn+vlbRdOnTwBaA5xMAgAQYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55688},"engines":{"node":">=20.0.0"},"gitHead":"97e6dc9804e308dd3bdd71e0b1acf5270d1e72d8","scripts":{"test":"vitest run","build":"npm run clean && tsc && node scripts/set-bin-executable.mjs","clean":"node scripts/clean.mjs","start":"node dist/index.js","format":"prettier --write --cache --cache-strategy metadata .","verify":"prettier --check . && npm run build && npm run test","prepack":"npm install && git diff --exit-code -- package-lock.json && npm run verify","test:watch":"vitest","format:check":"prettier --check --cache --cache-strategy metadata .","format:nocache":"prettier --write ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"devEngines":{"runtime":{"name":"node","onFail":"error","version":">=22.12.0"}},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"semver":"7.8.5","cross-spawn":"7.0.6","npm-package-arg":"14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","prettier":"3.9.6","typescript":"7.0.2","@types/node":"20.19.43","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6","@types/npm-package-arg":"6.1.4"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_4.0.0_1786169002046_0.7793677489068962","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@aforemendude/upgrade-npm-packages","version":"4.0.1","keywords":["npm","packages","dependencies","package-json","cli"],"author":{"name":"aforemendude"},"license":"MIT","_id":"@aforemendude/upgrade-npm-packages@4.0.1","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"homepage":"https://github.com/aforemendude/upgrade-npm-packages","bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"bin":{"upgrade-npm-packages":"dist/index.js"},"dist":{"shasum":"0a40fa8b309fb7c1258b0c5a18eef4c37c256f1a","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-4.0.1.tgz","fileCount":25,"integrity":"sha512-3YcXwnXPrKVVd1Erw6U/0Id61Lrq6KaKLeNmIZz0MCAQZXR31/CZJ8B4OXw3FXoU6k1ljUtQQjfCIRv6YTSvnQ==","signatures":[{"sig":"MEYCIQCXLCZVCrabpuAGHqGCXCWYZr3y4hGhzuqkJSQa6bfIqgIhAMjcJ51WaxXFULy1s1HJx8t8yeNfGk+OZCj4j6NPDqMP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55910},"engines":{"node":">=20.0.0"},"gitHead":"ce2f4affecc5da417967cf7fb3f362d399129765","scripts":{"test":"vitest run","build":"npm run clean && tsc && node scripts/set-bin-executable.mjs","clean":"node scripts/clean.mjs","start":"node dist/index.js","format":"prettier --write --cache --cache-strategy metadata .","verify":"prettier --check . && npm run build && npm run test","prepack":"npm install && git diff --exit-code -- package-lock.json && npm run verify","test:watch":"vitest","format:check":"prettier --check --cache --cache-strategy metadata .","format:nocache":"prettier --write ."},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"devEngines":{"runtime":{"name":"node","onFail":"error","version":">=22.12.0"}},"repository":{"url":"git+https://github.com/aforemendude/upgrade-npm-packages.git","type":"git"},"_npmVersion":"11.16.0","description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"semver":"7.8.5","cross-spawn":"7.0.6","npm-package-arg":"14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","prettier":"3.9.6","typescript":"7.0.2","@types/node":"20.19.43","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6","@types/npm-package-arg":"6.1.4"},"_npmOperationalInternal":{"tmp":"tmp/upgrade-npm-packages_4.0.1_1786231843322_0.6184806378671377","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"author":{"name":"aforemendude"},"bin":{"upgrade-npm-packages":"dist/index.js"},"bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"dependencies":{"cross-spawn":"7.0.6","npm-package-arg":"14.0.0","semver":"7.8.5"},"description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","devDependencies":{"@types/cross-spawn":"6.0.6","@types/node":"20.19.43","@types/npm-package-arg":"6.1.4","@types/semver":"7.7.1","prettier":"3.9.6","typescript":"7.0.2","vitest":"4.1.10"},"devEngines":{"runtime":{"name":"node","onFail":"error","version":">=22.12.0"}},"engines":{"node":">=20.0.0"},"homepage":"https://github.com/aforemendude/upgrade-npm-packages","keywords":["npm","packages","dependencies","package-json","cli"],"license":"MIT","name":"@aforemendude/upgrade-npm-packages","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/aforemendude/upgrade-npm-packages.git"},"scripts":{"build":"npm run clean && tsc && node scripts/set-bin-executable.mjs","clean":"node scripts/clean.mjs","format":"prettier --write --cache --cache-strategy metadata .","format:check":"prettier --check --cache --cache-strategy metadata .","format:nocache":"prettier --write .","prepack":"npm install && git diff --exit-code -- package-lock.json && npm run verify","start":"node dist/index.js","test":"vitest run","test:watch":"vitest","verify":"prettier --check . && npm run build && npm run test"},"version":"4.0.2","gitHead":"ef1738a0cb44e7099c4371ec684a7b2578dabb64","_id":"@aforemendude/upgrade-npm-packages@4.0.2","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-R0oy0ScZBh0pAew4lltQNwi9TXBzRsILmpJBMxD7ptsxNbXnNJHqEkqrY56IrfCl4yZr9SSi+zIcasxNHi+ROw==","shasum":"dfe50950eedf38fbddee57c43a290a727f340688","tarball":"https://registry.npmjs.org/@aforemendude/upgrade-npm-packages/-/upgrade-npm-packages-4.0.2.tgz","fileCount":25,"unpackedSize":56615,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwnAtn9XDZFUHJzCZzs+WaG0FaTH2LV8yHhwa+pu3CHgIhAK/m1WJFTNq++WXmIU9RU7K4C5At8zfvbveBnh5RgX6D"}]},"_npmUser":{"name":"aforemendude","email":"aforementioned.dude@gmail.com"},"directories":{},"maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/upgrade-npm-packages_4.0.2_1786251885096_0.16448827843533498"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-04T05:30:41.602Z","modified":"2026-08-09T05:04:45.383Z","1.0.1":"2026-06-04T05:30:41.885Z","1.0.2":"2026-06-06T01:33:01.862Z","1.0.3":"2026-06-06T01:47:24.274Z","2.0.0":"2026-06-07T01:37:51.439Z","2.1.0":"2026-06-07T03:52:25.889Z","2.1.1":"2026-06-07T04:10:03.650Z","2.1.2":"2026-08-01T07:04:30.617Z","3.0.0":"2026-08-02T07:37:13.838Z","4.0.0":"2026-08-08T06:03:22.200Z","4.0.1":"2026-08-08T23:30:43.460Z","4.0.2":"2026-08-09T05:04:45.239Z"},"bugs":{"url":"https://github.com/aforemendude/upgrade-npm-packages/issues"},"author":{"name":"aforemendude"},"license":"MIT","homepage":"https://github.com/aforemendude/upgrade-npm-packages","keywords":["npm","packages","dependencies","package-json","cli"],"repository":{"type":"git","url":"git+https://github.com/aforemendude/upgrade-npm-packages.git"},"description":"A CLI tool that recursively upgrades npm package dependencies to the latest eligible versions.","maintainers":[{"name":"aforemendude","email":"aforementioned.dude@gmail.com"}],"readme":"# Upgrade NPM Packages\n\nA CLI that recursively finds `package.json` files below the current working directory, updates their `dependencies` and\n`devDependencies`, and optionally performs a clean reinstall from the current working directory.\n\nThe command skips `node_modules` directories but otherwise walks all subdirectories from the directory where it is run.\nBefore scanning, it requires the surrounding Git worktree to have no tracked, untracked, or submodule changes so any\ntracked manifest damaged by an interrupted write can be restored from Git. Passing `--allow-dirty` bypasses this check.\nBy default, finding a symbolic-link manifest stops the command before any files are changed. Passing `--allow-symlinks`\nopts into processing symbolic-link targets even when they are outside the scanned directory. Canonical target paths are\ndeduplicated, so a file reached through multiple paths is processed only once.\n\n## Requirements\n\n- Node.js 20 or newer\n- npm\n- Git, unless the clean-worktree check is bypassed with `--allow-dirty`\n\n## Installation\n\nInstall the published CLI globally from npm:\n\n```bash\nnpm install --global @aforemendude/upgrade-npm-packages\n```\n\n## Usage\n\nRun the command from the directory you want to scan:\n\n```bash\nupgrade-npm-packages\n```\n\nBy default, the CLI only updates discovered `package.json` files. It does not delete lockfiles, delete `node_modules`,\nor run `npm install`.\n\nTo allow upgrades outside a clean Git worktree:\n\n```bash\nupgrade-npm-packages --allow-dirty\n```\n\nThis bypasses the recovery safety check and permits changes when the worktree is dirty, the current directory is not in\na Git worktree, or Git is unavailable.\n\nTo allow symbolic-link manifests:\n\n```bash\nupgrade-npm-packages --allow-symlinks\n```\n\nThis option can modify a symlink target outside the current working directory. Omit it to reject symbolic-link manifests\nand exit before changing any files.\n\nTo force a clean reinstall after all `package.json` files are updated:\n\n```bash\nupgrade-npm-packages --force-reinstall\n```\n\nTo explicitly disable ANSI colors in output:\n\n```bash\nupgrade-npm-packages --no-color\n```\n\nThe CLI also disables colors when the applicable output stream is not an interactive terminal, and honors the\nconventional `NO_COLOR` environment variable when it is set to a non-empty value.\n\nFor each `package.json` file it finds, the tool:\n\n1. Reads `dependencies` and `devDependencies`.\n2. Looks up package versions with `npm view <package> versions time --json`.\n3. Checks eligible candidate versions with `npm view <package>@<version> deprecated --json` until it finds a\n   non-deprecated version.\n4. Replaces each eligible dependency reference with an exact version string.\n5. Writes the `package.json` with two-space formatting and alphabetically sorted object keys, while preserving the\n   matching order of conditional keys in `exports` and `imports`.\n\nPackage metadata and version deprecation lookups are cached in memory for the duration of the command, so repeated\ndependencies across sections and manifests reuse the same registry results.\n\nWhen `--force-reinstall` is present, the tool uses the presence of both a discovered `package-lock.json` file and\n`node_modules` directory as a heuristic that their containing directory is an install root. It still deletes every\ndiscovered lockfile and `node_modules` directory below the current working directory. If the heuristic identifies the\ncurrent working directory as an install root, the tool runs `npm install` there once, regardless of how many\n`package.json` files were found. Otherwise, it skips `npm install`.\n\nAfter cleanup and the possible install, the command exits with an error if the heuristic did not identify the current\nworking directory as an install root or if it identified other directories that were also cleaned. The error states\nwhere the tool ran `npm install` and identifies every possible install root where it did not run the command.\n\n## Version Selection\n\n- Deprecated candidate versions are excluded from selection. Candidates are checked newest first after age, range,\n  prerelease, and same-major filters have been applied.\n- Packages in the `@aforemendude` namespace have no minimum required package age. Other packages prefer the newest\n  version that was published at least 7 days ago.\n- Normal dependencies ignore prerelease versions. If the current dependency reference contains a prerelease version,\n  prerelease versions are also eligible.\n- If the current dependency reference contains a SemVer version newer than the latest eligible candidate, that current\n  SemVer version is pinned instead of being downgraded. Versions below the current SemVer version are not checked for\n  deprecation.\n- If the current dependency reference does not contain a complete SemVer version but is a valid SemVer range, the\n  selected version must satisfy that range. If no satisfying non-deprecated version is at least 7 days old, the earliest\n  satisfying non-deprecated version is pinned.\n- Dependency references set to `*` are skipped.\n- Other dependency references are parsed by looking for a SemVer version inside the string. References that do not\n  contain a SemVer version and are not valid SemVer ranges do not get downgrade or range protection.\n- Version ranges are not preserved; selected versions are written as exact pins. For example, `^1.2.3` can become\n  `2.0.0`.\n\nThe following packages are only upgraded within their current major version when the current reference contains or can\nbe interpreted as a SemVer major version:\n\n- `@eslint/js`\n- `@types/node`\n- `eslint`\n\n## Failure Behavior\n\n- If Git is unavailable, the current directory is not inside a Git worktree, or that worktree has uncommitted changes,\n  the command exits before discovering or processing manifests unless `--allow-dirty` is passed.\n- If a symbolic-link `package.json` is found without `--allow-symlinks`, the command reports its path and exits before\n  processing any manifests.\n- If no `package.json` files are found, the command logs an error and exits without changing files.\n- If version lookup fails for a dependency, that dependency is skipped.\n- If processing a `package.json` fails, the command stops and exits with an error.\n- When `--force-reinstall` is present, cleanup or `npm install` failure stops the command and exits with an error.\n- After force-reinstall cleanup, the command exits with an actionable error if the current working directory did not\n  appear to be an install root or if `npm install` was not run in another cleaned directory that appeared to be one.\n\n## Project Structure\n\nProduction code is grouped by responsibility, and tests are colocated with the modules they cover:\n\n```text\nsrc/\n├── cli/           argument parsing, help output, command orchestration, and process lifecycle\n├── config/        dependency-upgrade policy\n├── git/           clean-worktree safety checks\n├── npm/           npm command execution, registry access, and version selection\n├── package-json/  manifest discovery, dependency-reference parsing, and manifest upgrades\n├── reinstall/     reinstall-target discovery, cleanup, and installation\n├── utils/         shared filesystem, JSON, and logging utilities\n└── index.ts       executable entry point\n```\n\nThe recursive filesystem search is shared by package discovery and reinstall cleanup. npm output parsing and command\nexecution are likewise centralized so registry and installation modules do not duplicate subprocess handling.\n\n## Development\n\nDevelopment requires Node.js 22.12 or newer. The published CLI continues to support Node.js 20 or newer.\n\n```bash\n# Compile TypeScript\nnpm run build\n\n# Check formatting, reusing cached results\nnpm run format:check\n\n# Format code with Prettier, reusing cached results\nnpm run format\n\n# Format code with Prettier and clear cached results\nnpm run format:nocache\n\n# Run unit tests\nnpm run test\n\n# Run tests in watch mode\nnpm run test:watch\n\n# Run an uncached formatting check, build, and tests\nnpm run verify\n```\n","readmeFilename":"README.md"}