{"_id":"vpr","_rev":"27-82ff4c902d7760326c827313f9396b9d","name":"vpr","dist-tags":{"latest":"1.4.6"},"versions":{"1.0.0":{"name":"vpr","version":"1.0.0","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.0.0","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist/index.js"},"dist":{"shasum":"49de6297606b1383b2c9db3da1b769cc7217b7dc","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.0.0.tgz","fileCount":25,"integrity":"sha512-Hh2PIu/shcNxSb+mL1m/C7AQd37rRfjhs44IsDwkpeYhImmxzE3KcIoDEbZU3TCZATiKE6uaartkG3n/qvYuwQ==","signatures":[{"sig":"MEUCIQDOzaJ6f6trYMnSWhl+C2i7EhBp8oLIFTYZPTMpAJMHUQIgPNUXnQi3NJliJCAwwWhwXKRAtL07+HXawy0oMOd++Hw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16487},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run yarn package:stage","publish":"tsx src/index.ts -i rel-archive.tgz yarn publish:stage","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && yarn tsx package.ts","publish:stage":"npm publish && git push origin main --tags"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.0.0_1733115842377_0.6541194385803955","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"vpr","version":"1.1.0","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.1.0","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist/index.js"},"dist":{"shasum":"19043fcbd6980e69c9ee79f48c7217dd44cebc7e","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.1.0.tgz","fileCount":25,"integrity":"sha512-7f1fR+sbQruWFC80PhnyG1CPrJmvFLnM39bRUANF7dtL4YDE43fXVBRWh0d8UykKTWO55VBOzgj1n7kEnQ0Wmg==","signatures":[{"sig":"MEUCICNwPDSkW+t7uSdCz+K0DkhlzpDVf8FN4lNgdBAJSXsWAiEApJTlcF/O5gd2Aj+3X8FuGPXklWUjCcKafhI5l7TR8Fg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16615},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run yarn package:stage","release":"tsx src/index.ts run -i rel-archive.zip yarn release:stage","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && yarn tsx package.ts","release:stage":"yarn publish && git push origin main --tags"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.1.0_1733116511220_0.17952134219133487","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"vpr","version":"1.1.1","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.1.1","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist/index.js"},"dist":{"shasum":"3e290e49c9a6298b6a27a1bfee2c3a162992dfdd","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.1.1.tgz","fileCount":25,"integrity":"sha512-EMMgZux/aja0Rvmcg5VnOWYgi30UYI9M9Hw8NE9BGeknQXbqe6obAXqYTkCfwhDk9EEgLbPA0H72RjgZfj+c4Q==","signatures":[{"sig":"MEUCIQDoOxvku5ak9CpghYT0xRHyeRC4UQpYaQXy13KFaAIikAIgRy1iubIuYzcGqcWIMmVaveN5GT/aEqKi1Yb7nldCF1Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16660},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run yarn package:stage","release":"tsx src/index.ts run -i rel-archive.zip yarn release:stage","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && yarn tsx package.ts","release:stage":"yarn publish *.tgz && git push origin main --tags"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.1.1_1733117796433_0.6733385930822586","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"vpr","version":"1.1.2","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.1.2","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist/index.js"},"dist":{"shasum":"b8034999e2bd48d3d4b1955afb7b40daa2951a4f","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.1.2.tgz","fileCount":25,"integrity":"sha512-HAKOybZXbN4OWIoXuU2xLAgSkBD3nJifc/iIb+45SZVkzZRJLnrD7CA991qg6C37B6HnxDDO8cPuavYEgXSKPg==","signatures":[{"sig":"MEUCIQCMT2OOXQBf87UqQlF9Yh8FpN3lvJjNjrHWR/1Q1q4EOwIgGHo46cHQvtL5SGhXrKSkbm1CFXmkkQFMuN3sQbbBusQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16817},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run yarn package:stage","release":"tsx src/index.ts run -i rel-archive.zip yarn release:stage","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && yarn tsx package.ts","release:stage":"yarn publish --non-interactive *.tgz && git push origin main --tags"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.1.2_1733118151615_0.14642579055892657","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"vpr","version":"1.4.0","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.4.0","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist\\index.js"},"dist":{"shasum":"10dad883ae5bb1d419de46ff478f4bb3727e49ad","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.4.0.tgz","fileCount":17,"integrity":"sha512-i+6exCUt/W49JdZSnJ/EqrowZesRFayJD0upNX0VweoYcRO7r7PLRhiFjvhgzg01U/2M9kRQed/yIjRX4lcZlA==","signatures":[{"sig":"MEYCIQDTTrMNnl1JFq1lahKiaxYlb+ZDvkMbv8P+ltPDuX4tywIhAP4J3TNU6i97zIgHok0OaMMxT88WsQ51q/Zjeb7xFE3s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75337},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run -f yarn package:stage","release":"tsx src/index.ts run -c yarn release:stage && git pull","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && tsx scripts/package.ts","release:major":"cross-env VERSION=major yarn package && yarn release","release:minor":"cross-env VERSION=minor yarn package && yarn release","release:patch":"cross-env VERSION=patch yarn package && yarn release","release:stage":"yarn && tsx scripts/release.ts"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","resolutions":{"jackspeak":"2.1.1"},"dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","inquirer":"^12.1.0","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","cross-env":"^7.0.3","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.4.0_1733263968542_0.5216172000310295","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"vpr","version":"1.4.1","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.4.1","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist\\index.js"},"dist":{"shasum":"2a517e37eef24dc5510ba3c90d8e0cba27ea8686","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.4.1.tgz","fileCount":17,"integrity":"sha512-Y462e12UAB74mIAlB47M3beqxk9xIApBIk4nJks8kRYsPn1WkJj24hMQDa2c5AH4ayvb97+tvlmJevGNz0GD8g==","signatures":[{"sig":"MEYCIQDe/OEcD5eqsUW3y7MXy9S/gWLo3aD9tVWc/z8ziQUccgIhALSrr9G8jlukq/vyY61pT/8BPudZ2NM17+z9eNZwVl4Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78214},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run -f yarn package:stage","release":"tsx src/index.ts run -c yarn release:stage && git pull","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && tsx scripts/package.ts","release:major":"cross-env VERSION=major yarn package && yarn release","release:minor":"cross-env VERSION=minor yarn package && yarn release","release:patch":"cross-env VERSION=patch yarn package && yarn release","release:stage":"yarn && tsx scripts/release.ts"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","resolutions":{"jackspeak":"2.1.1"},"dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","inquirer":"^12.1.0","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","cross-env":"^7.0.3","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.4.1_1733275734138_0.32496596691323854","host":"s3://npm-registry-packages"}},"1.4.2":{"name":"vpr","version":"1.4.2","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.4.2","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist/index.js"},"dist":{"shasum":"8bc55aa86262b2f444ed7eec62fac6baa11ea9df","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.4.2.tgz","fileCount":17,"integrity":"sha512-Mho9/gg6ODuafIjGQaTLhcIV1So3wNyNQuPKquYtXh2gAdac85qGw6yX/vakOnCqJtDOFUM2e7mBSY0fpnf9Xw==","signatures":[{"sig":"MEUCIQD/VBBCL/0DvIG8au33miFIX7lQvj/dPjp8AgnN3uM+7AIgSjpn8aEk2+5H3086Iu0+xm8lSmrjcEhTKttRz7EXw8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78214},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run -f yarn package:stage","release":"tsx src/index.ts run -c yarn release:stage && git pull","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && tsx scripts/package.ts","release:major":"cross-env VERSION=major yarn package && yarn release","release:minor":"cross-env VERSION=minor yarn package && yarn release","release:patch":"cross-env VERSION=patch yarn package && yarn release","release:stage":"yarn && tsx scripts/release.ts"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","resolutions":{"jackspeak":"2.1.1"},"dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","inquirer":"^12.1.0","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","cross-env":"^7.0.3","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.4.2_1733291769522_0.9452351819318396","host":"s3://npm-registry-packages"}},"1.4.3":{"name":"vpr","version":"1.4.3","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.4.3","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist/index.js"},"dist":{"shasum":"9b52a8072e8b68d3bc6fe765f23913fb8a4ffa82","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.4.3.tgz","fileCount":17,"integrity":"sha512-li5aMKguMgf7WSUD5KRre/fTlPbcHzcIpX6WspuX3yyr6YXOl33CLggIkmMyKIZy5rRq2ZzH20D6l7CYOLuJRw==","signatures":[{"sig":"MEYCIQCSIZBfRbjqHnJTfQgHi3GsPoyg178kuCEUM33TYZ8v0AIhANtFU842iJvZ2EDh94E3VLl3NiUwLtZ+vEKCGEQWEZCS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80862},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run -f yarn package:stage","release":"tsx src/index.ts run -c yarn release:stage && git pull","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && tsx scripts/package.ts","release:major":"cross-env VERSION=major yarn package && yarn release","release:minor":"cross-env VERSION=minor yarn package && yarn release","release:patch":"cross-env VERSION=patch yarn package && yarn release","release:stage":"yarn && tsx scripts/release.ts"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","resolutions":{"jackspeak":"2.1.1"},"dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","inquirer":"^12.1.0","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","cross-env":"^7.0.3","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.4.3_1737491524843_0.6748344610673704","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"vpr","version":"1.4.4","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.4.4","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist/index.js"},"dist":{"shasum":"92dd81b735b5a82e2f83a4a62a280bed7e1a1d91","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.4.4.tgz","fileCount":17,"integrity":"sha512-DoDbu4AgjDcJak40M8d8R91IsIap1egPTIUx23hdWhFzEQdC+CwkEqJZw2P5KYu7Ef1kr63TQDmKqTmENJPzSA==","signatures":[{"sig":"MEQCIDvnu73KwFC6ZszE9FeROyGyctJrtZ6J9IAkvX4RLkPBAiBiyW72s1uu8F/6n0bSEiDF9TX3jF5b+edXsQzKs0vDow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80862},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run -f yarn package:stage","release":"tsx src/index.ts run -c yarn release:stage && git pull","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && tsx scripts/package.ts","release:major":"cross-env VERSION=major yarn package && yarn release","release:minor":"cross-env VERSION=minor yarn package && yarn release","release:patch":"cross-env VERSION=patch yarn package && yarn release","release:stage":"yarn && tsx scripts/release.ts"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","resolutions":{"jackspeak":"2.1.1"},"dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","inquirer":"^12.1.0","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","cross-env":"^7.0.3","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.4.4_1744827048336_0.7810031031041149","host":"s3://npm-registry-packages-npm-production"}},"1.4.5":{"name":"vpr","version":"1.4.5","author":{"name":"Loren Segal"},"license":"MIT","_id":"vpr@1.4.5","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"bin":{"vpr":"dist/index.js"},"dist":{"shasum":"df83ee7e7c44de3ca0810254ac13e7b4b4a9f94a","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.4.5.tgz","fileCount":17,"integrity":"sha512-mdAax3MT1pGLGrU9WGXmn4WhaRCZEa+3E6U6cfHHDcDU3w1OhBmI5ycaLvKOBt2dNGGeyrucyLXrPVWFSfukug==","signatures":[{"sig":"MEQCICX6fVgfq1z8HmiypLKlkCgHEoKmJavc35RJv5H8bNcxAiAnqyh5srpXQ2wkZJ6wBaGt0eFonqfrODQsVoYHevnh0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80970},"main":"./dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint .","test":"vitest --run","build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","package":"tsx src/index.ts run -f yarn package:stage","release":"tsx src/index.ts run -c yarn release:stage && git pull","posttest":"yarn lint","test:watch":"vitest","package:stage":"yarn && tsx scripts/package.ts","release:major":"cross-env VERSION=major yarn package && yarn release","release:minor":"cross-env VERSION=minor yarn package && yarn release","release:patch":"cross-env VERSION=patch yarn package && yarn release","release:stage":"yarn && tsx scripts/release.ts"},"_npmUser":{"name":"lsegal","email":"lsegal@soen.ca"},"repository":{"url":"https://github.com/lsegal/vpr.git","type":"git"},"description":"A (versioned) package release tool","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Loren Segal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","resolutions":{"esbuild":"0.25.0","jackspeak":"2.1.1"},"dependencies":{"ora":"^8.1.1","debug":"^4.3.7","execa":"^9.5.1","adm-zip":"^0.5.16","inquirer":"^12.1.0","cli-color":"^2.0.4","commander":"^12.1.0","recursive-copy":"^2.0.14"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","tsup":"^8.3.5","eslint":"^9","vitest":"^2.1.6","cross-env":"^7.0.3","typescript":"^5","@types/node":"^22","@types/debug":"^4.1.12","@types/adm-zip":"^0.5.7","@types/cli-color":"^2.0.6","typescript-eslint":"^8.16.0"},"_npmOperationalInternal":{"tmp":"tmp/vpr_1.4.5_1744832626096_0.2283189991127823","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"vpr","description":"A (versioned) package release tool","version":"1.4.6","author":{"name":"Loren Segal"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/lsegal/vpr.git"},"homepage":"https://github.com/lsegal/vpr","bugs":{"url":"https://github.com/lsegal/vpr/issues"},"main":"./dist/index.js","type":"module","bin":{"vpr":"dist/index.js"},"dependencies":{"adm-zip":"^0.5.17","cli-color":"^2.0.4","commander":"^14.0.3","debug":"^4.4.3","execa":"^9.6.1","inquirer":"^13.4.1","ora":"^9.3.0","recursive-copy":"^2.0.14"},"devDependencies":{"@biomejs/biome":"^2.4.12","@types/adm-zip":"^0.5.8","@types/cli-color":"^2.0.6","@types/debug":"^4.1.13","@types/node":"^25.6.0","cross-env":"^10.1.0","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"^6.0.2","vitest":"^2"},"resolutions":{"jackspeak":"2.1.1","esbuild":"0.25.0"},"engines":{"node":">=18.0.0"},"types":"dist/index.d.ts","scripts":{"build":"tsup src/index.ts --sourcemap inline --format esm --dts --clean","lint":"biome lint . --diagnostic-level=error && tsc","posttest":"pnpm lint","test":"vitest --run","test:watch":"vitest","package":"tsx src/index.ts run -f pnpm package:stage","package:stage":"pnpm install && tsx scripts/package.ts","release":"tsx src/index.ts run -c pnpm release:stage && git pull","release:stage":"pnpm install && tsx scripts/release.ts","release:major":"cross-env VERSION=major pnpm package && pnpm release","release:minor":"cross-env VERSION=minor pnpm package && pnpm release","release:patch":"cross-env VERSION=patch pnpm package && pnpm release"},"_id":"vpr@1.4.6","_integrity":"sha512-Cd1RdFnkHLKLUBWW6sO2PdWdGINR3PX8iDK/9KObuquIWjmr3QQ6V5CMg4SGsDjsD3bD72AMYC2qnCtORiSmTQ==","_resolved":"/tmp/vpr-stage-Tc7izT/vpr-1.4.6.tgz","_from":"file:vpr-1.4.6.tgz","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-Cd1RdFnkHLKLUBWW6sO2PdWdGINR3PX8iDK/9KObuquIWjmr3QQ6V5CMg4SGsDjsD3bD72AMYC2qnCtORiSmTQ==","shasum":"49a52753b21c2b59d3c5d42862260d10918e8a32","tarball":"https://registry.npmjs.org/vpr/-/vpr-1.4.6.tgz","fileCount":12,"unpackedSize":81176,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/vpr@1.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC9b/hKn/wwufBECoo3lBQX3Tdq7Uv39KhMOg5CcKnHBwIgUyuUCgmCf7XBrNpMaYfYhQA1flc0xRtC86kYyei7NM0="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:45c3c04e-8569-4b98-9f9f-ede42a8d6846"}},"directories":{},"maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vpr_1.4.6_1776365870864_0.3960723970525408"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-02T05:04:02.376Z","modified":"2026-04-16T18:57:51.271Z","1.0.0":"2024-12-02T05:04:02.554Z","1.1.0":"2024-12-02T05:15:11.391Z","1.1.1":"2024-12-02T05:36:36.591Z","1.1.2":"2024-12-02T05:42:31.805Z","1.2.0":"2024-12-03T07:27:07.111Z","1.2.1":"2024-12-03T07:50:06.453Z","1.2.2":"2024-12-03T19:14:51.146Z","1.2.3":"2024-12-03T19:21:07.881Z","1.2.4":"2024-12-03T19:36:55.735Z","1.3.0":"2024-12-03T21:35:12.778Z","1.2.5":"2024-12-03T21:44:34.142Z","1.3.1":"2024-12-03T21:45:48.933Z","1.4.0":"2024-12-03T22:12:48.736Z","1.4.1":"2024-12-04T01:28:54.378Z","1.4.2":"2024-12-04T05:56:09.727Z","1.4.3":"2025-01-21T20:32:05.037Z","1.4.4":"2025-04-16T18:10:48.528Z","1.4.5":"2025-04-16T19:43:46.338Z","1.4.6":"2026-04-16T18:57:51.005Z"},"bugs":{"url":"https://github.com/lsegal/vpr/issues"},"author":{"name":"Loren Segal"},"license":"MIT","homepage":"https://github.com/lsegal/vpr","repository":{"type":"git","url":"git+https://github.com/lsegal/vpr.git"},"description":"A (versioned) package release tool","maintainers":[{"name":"lsegal","email":"lsegal@soen.ca"}],"readme":"# ✌️ vpr\n\nvpr is a **v**ersioned **p**ackage **r**elease tool for managing and staging releases of packages in a git repository.\n**vpr** stage your release within an isolated copy of your repository, retaining all generated artifacts and git\nhistory. The process is also compatible with job based CI pipelines that support artifact outputs without relying on the\nCI system itself to manage the release, meaning that **vpr releases can be built, staged, and validated locally**.\n\n## 📃 Requirements\n\nTo run `vpr` you need:\n\n- A git repository _(more VCS systems may be supported in the future)_,\n- Something to release (package, library, command line tool),\n- _That's it!_\n\n## 💽 Installation\n\n```sh\nnpm install -g vpr\n```\n\nOr use `npx`:\n\n```sh\nnpx vpr help\n```\n\n## 👋 Getting Started\n\nUsing `vpr` usually involves two stages, a **prepare** stage and a **release** stage.\n\n1. In the **prepare** stage, you run your tests, run any build commands to generate release artifacts, and make updates\n   to your repository as needed, typically in the form of commits and a version tag.\n\n2. In the **release** stage, you (optionally) validate your package and run the remaining release command(s) to push\n   your release to a package registry, deploy to a server, or publish a release on GitHub. Because the assets are all\n   staged in one single archive without making any modifications to repository state, this process is portable and\n   repeatable, as well as discardable if a validation step fails.\n\nAlthough these two stages are the typical workflow, **vpr** abstracts away from any specific workflow and simply allows\nyou to run a set of commands in the context of your previous \"staged\" release. In practice, this means you can have\n5, 6, or even 10 stages prior to the final step, if you need to run a complex release process. For example, CI workflows\nthat build artifacts against multiple platforms might use **vpr** to stage the release artifacts for each platform.\n\n### 🍳 Preparing a Release\n\nGenerally you would run `npx vpr run <prepare_command>` like:\n\n```sh\nnpx vpr run --include-artifact build/release/ make build git-tag\n```\n\n> [!TIP]\n> You can use `--overwrite` (alias: `-f`) to avoid the confirmation prompt when overwriting an existing archive.\n\nThe above command will:\n\n1. Create a temporary directory to stage the release,\n2. Clone the current repository into the temporary directory,\n3. Run `make build git-tag` in the temporary directory, which in this example will build your artifacts and tag the\n   repository with the new version.\n4. Archive the staged changes into a zip archive (`rel-archive.zip`) in the original working directory which includes\n   the git repository and **any generated artifacts**.\n\n> [!NOTE]\n> If your artifacts are part of the `.gitignore` (a very common scenario), they will not be included in the staged\n> archive. This is why we used `--include-artifact` to force their inclusion. You can also use the `.relignore` file to\n> specify this behavior for the entire project, see [the section on `.relignore`](#ignoring-and-un-ignoring-artifacts-from-the-output-archive-relignore).\n> for more information.\n\nThis archive can be inspected manually to verify the contents at any time. The modifications to the repository and any\ngenerated artifacts will live only in the staged package archive (`rel-archive.zip`) and thus will have no effect on\nyour workspace until you decide to release the staged package.\n**If something goes wrong, you can simply delete the staged package and start over.**\n\n### 🚀 Releasing a ...Release\n\nNow that you have your packaged artifacts (including git repository) staged in `rel-archive.zip`, you can release it\nusing the same `vpr run` command, passing the artifact archive as your stage directory. You can combine multiple\narchives into one staged directory, but in this case we only use one:\n\n```sh\nnpx vpr run --continue make validate publish\n```\n\n> [!TIP]\n> The `--continue` (alias: `-c`) option above is shorthand for `--initial-archive rel-archive.zip`.\n\nThe above command will:\n\n1. Create a temporary directory to stage the release with the contents of `rel-archive.zip`,\n2. Run `make validate publish` in the temporary directory, which in this example will validate the release and publish\n   the artifacts to a package registry, including running `git push origin main --tags` to push the new tag to the\n   repository.\n\n## 🤔 Why **vpr**?\n\n_The problem is simple_: most modern release processes rely heavily on GitHub Actions or other CI systems to manage\nthe actual release. While this might be a very hands-off approach and wonderful when it works, it can also be nearly\nimpossible to test and debug locally, causing scenarios where a release might be completely broken and blocked due to CI\nissues that require multiple commits to fix and test... _and then fix and test because the job failed again_,\n_and then fix and test because the job failed again_. Tools like [act](https://github.com/nektos/act) can help in\nsome cases, but come with plenty of caveats and limitations.\n\n**vpr** abstracts the problem by allowing you to stage your release in a way that is portable and repeatable within your\nown existing development environment and workflow. It works _with_ your CI system by building the release process on top\nrather than using your CI as the release tool. This means that you can develop locally, test locally, and release\nlocally, and, when everything works, migrate those changes to CI.\n\n**vpr** is a spiritual successor to [**samus**](https://github.com/lsegal/samus) but without the strict and rigid\nmanifest system that can make it hard to get started without prior tool knowledge. **vpr** abstracts only the repository\nstaging portion of samus and leaves the remaining execution flow up to the user to define. This makes **vpr** more\nflexible in cases where a release might have multiple non-standard release steps (uploading assets to S3, creating some\nrelease announcement somewhere other than GitHub, etc.).\n\n## ⚙️ Advanced Usage\n\n### Ignoring and Un-ignoring Artifacts from the Output Archive (`.relignore`)\n\nBy default, **vpr** will archive all files generated during the `run` command that are not ignored by git. In other words,\nany \"untracked\" files will be included in the staged archive. This means that if you `vpr run touch tmpfile`, the `tmpfile`\nwill be included in the staged archive.\n\nIf you want to ignore a specific file from the staged archive, you can either add it to your `.gitignore` file, or, if\nyou only want it ignored from **vpr**, you can add it to a separate `.relignore` file.\n\n#### `.relignore` Syntax\n\nThe `.relignore` file uses the same syntax as `.gitignore` and is located in the root of your repository. For example:\n\n```sh\n# .relignore\ntmpfile\n!importantfile\n```\n\nThis will ignore the `tmpfile` but include the `importantfile` in the staged archive (if it was created).\n\n#### Un-ignoring Ignored Files\n\nOccasionally you will have compiled assets ignored by git that you want to include in the staged archive. You can\nun-ignore these files by adding them to the `.relignore` file prefixed with an exclamation mark `!`. For example:\n\n```sh\n# .relignore\n!dist/\n!target/release/my-binary*\n```\n\nThis will include the `dist/` directory and any files matching `target/release/my-binary*` in the staged archive.\n\n### Generating Release Commit Messages and Tags\n\n**vpr** also comes with a helpful `vpr release-commit` command to collect GitHub issues into a single release commit:\n\n```sh\nnpx vpr release-commit 1.2.0\n```\n\nThe above will run a `git commit` and `git tag v1.2.0` with a commit message that includes all issues closed since the\nlast release tag in the form:\n\n```text\nRelease v1.2.0\n\nReferences: #123, #124, #125\n```\n\nYou can use this command from within your prepare stage to generate a release commit message and tag for your release:\n\n```sh\nnpx vpr run npx vpr release-commit v1.2.0\n```\n\n**TODO**: This command will eventually generate a full changelog capable of being used in a GitHub release (or equivalent).\n\n## 📖 License & Author\n\n**vpr** was created by <ins>Loren Segal</ins> and is licensed under the <ins>MIT License</ins>. See [LICENSE](LICENSE) for more information.\n","readmeFilename":"README.md"}