From 6e7bdbda5fe05107efc88b23b7ed00aa05f84ca0 Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Mon, 30 Mar 2026 00:09:19 +0200 Subject: [PATCH] chore: bump bootstrap pnpm to 11.0.0-beta.4-1 and add update script Add `pnpm run update-bootstrap [version]` to regenerate the bootstrap lockfiles. Bumps from 11.0.0-beta.3 to 11.0.0-beta.4-1. --- dist/index.js | Bin 1432219 -> 1432267 bytes package.json | 3 +- scripts/update-bootstrap.mjs | 47 ++++++++++++++++++ src/install-pnpm/bootstrap/exe-lock.json | 56 +++++++++++----------- src/install-pnpm/bootstrap/pnpm-lock.json | 8 ++-- 5 files changed, 81 insertions(+), 33 deletions(-) create mode 100644 scripts/update-bootstrap.mjs diff --git a/dist/index.js b/dist/index.js index 5d098bc7640a7eecee4323c1c28df14fa212d6ae..ff2b4d9a7aa57cd4e06dbd64b990cddc1859f4d7 100644 GIT binary patch delta 1143 zcmYk5OOM-B7=~5aLWhCUQVyyBX~acpr3h@tj^nUvoWyZ1j_-E7vmHB*9ouonacpm3 z;bmD{s0$YChB8cHW-5*7FJM!NAHbF^JC>vwrZck*R ziyOtw;?3f%;#RR!yj|=T?-cJAw~P0RJH_4N{o-En!7*qaT*tmdO7Z}FwG}U4fCuIG z2jKp8b@vS1mvT>21aq#dImXZ!I`KO2YMc@VrMh8O7m+^0_FbKdkp*Y={dgPV6?mzOe$panyq8r7`Hl@EUgf1ejQ1fOmNdI&z>3gu!ayAV$f!QS@h zlKan#+ne;Z+?Dg!HtESaYgZkITq_)hB#e&=X@oZiaTFv8ZfV4<7eQgv8~IhGlShqt zt>GGe09(2gw?=c_cJ17oxzV&@x)|=js#tAB`}Vs0<_sWZ_yXK2nP;F~){p)NzaZEx zA0L5FE-?^CG&4<*d&+`ky8Gy=&KtJz$k$Z1IiNL8j-eb;U9%PBG$CLOhN6?%lBna* zG-|j5yrHpS8`1H+5(yTXORT?!gK7EQDS%#MINNetg1?@DD;d;hy-CYfbY8JSs+maW zv}dLUZ;gipN;@;9qp{tgpj4(hhAB`a=4L*oEy^Op<$lWX{U#f%t5F|yoQ7c~UZ&#e zNZDrab$RD_WB=b@uiD=f-z|r~U9m5%`L=49Rc9$o@Fg_K*zu}EdtN7`joA0B+H&4o znzU%)wNXNI{)VNqKvjZm(ql77(RnZPFamCj=Mjw%SQaLdKGe#`rvNUG&cMzq3j5Oi z569raW%Sv!>$WB)>{M6erZsgGCWA@UoKZ@LA>qic#_*aT*m0YLkfm=>WXp~$Dz+hl zC&X?p%A?g9T8whKCGO)~+iBuDJDQ$%!0)G^`)YP}%I7CnXJVerp2mx{={0d2cBtSxPGC%?efsg+W`EI^)rke?&cc@Zw*fbhABu-}kwE-uXW7pXb9L&WGRT2l-q1+xa{B zyZN>Jz5IH9BY!`?nSYRfnBU4j%5Ud)@{jYo`6p+fadc2E*dy?`j61)AuZt%~;9hyA zUV?iX-rdali_{zsux($*qlmAs`gkDQhJeDd$)UZDoHe~_O*8xPHd=SFY*tNrGm7da ztTBx%F=Ygb4fkqhhjglF6niOt@#Qbzi-VGQcmeJf{vY5*F?$L=+xv&bv!~$GD}Rs< zrDd~ejlAs)GZB$?>5Q6SX4qo776lP$i#GIz#^|D<#V|77!qhI331W?6VzTrb8jV=P zDFq=M9CSU)?bj#j0Hq4-8Th*-9vp**WzfgqQ5p07?Yn(EKL!uV;pG#h6L7Qm_ZWO$ z4$6v@GG4bcP&ss##`LJp+jbvwXU<|(aYWDdp^dO|rhX!=nn={?ibQMKXcMqT30zd^ z2+*otuSfkvrP+kA{auqwA_3i|y_lIvNijJGmEx!0!S&+S37GB8YH@S|?q9(g!EZXD zuf$9fM^lW%c}-1P*2>`px)R%2ecW=5w%oLL0_94)si>`r;JOyokG2Fn6g`{cn zD3E)2$6NRTBPzvzrvTZz{&V2$-NWMAZ{VvpuGDMWLWR-#8+I;hS+MIMq6wuw!3?k{ zP@FaIFD9*yk&$Cs4|RC$c&RZpwlrVeK*CIMtKC{#U~qhC+B7VO^GSv<#W&{wE&h60 zegpChu*Ln;%dM0}9~Rze`BSdiZl@^P=0;6@M?&OK!`dyiF6je1uM-tx`s?W+=2qC=~)BB8Hzo0M{8bp5YI37c=68*@aob3gQr}B diff --git a/package.json b/package.json index 407d4e6..991c379 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "scripts": { "build:bundle": "esbuild src/index.ts --bundle --platform=node --target=node24 --format=cjs --minify --outfile=dist/index.js --loader:.json=json", "build": "pnpm run build:bundle", - "start": "pnpm run build && sh ./run.sh" + "start": "pnpm run build && sh ./run.sh", + "update-bootstrap": "node scripts/update-bootstrap.mjs" }, "dependencies": { "@actions/cache": "^4.1.0", diff --git a/scripts/update-bootstrap.mjs b/scripts/update-bootstrap.mjs new file mode 100644 index 0000000..3163dc6 --- /dev/null +++ b/scripts/update-bootstrap.mjs @@ -0,0 +1,47 @@ +#!/usr/bin/env node + +// Usage: node scripts/update-bootstrap.mjs [version] +// If version is omitted, fetches the latest next-11 tag from npm. +// Regenerates the bootstrap lockfiles used by action-setup to install pnpm via npm. + +import { execSync } from 'child_process' +import { mkdtempSync, rmSync, readFileSync, writeFileSync } from 'fs' +import { join } from 'path' +import { tmpdir } from 'os' + +const BOOTSTRAP_DIR = new URL('../src/install-pnpm/bootstrap/', import.meta.url).pathname + +const version = process.argv[2] || resolveLatestVersion() + +console.log(`Updating bootstrap lockfiles to pnpm@${version} ...`) + +generateLock('pnpm-lock.json', { pnpm: version }, 'bootstrap-pnpm') +generateLock('exe-lock.json', { '@pnpm/exe': version }, 'bootstrap-exe') + +console.log('Done!') + +function resolveLatestVersion() { + const json = execSync('npm view @pnpm/exe dist-tags --json', { encoding: 'utf8' }) + const tags = JSON.parse(json) + const version = tags['next-11'] || tags['latest'] + if (!version) { + console.error('Could not determine latest pnpm version from npm dist-tags') + process.exit(1) + } + return version +} + +function generateLock(filename, dependencies, name) { + const tmp = mkdtempSync(join(tmpdir(), 'pnpm-bootstrap-')) + try { + writeFileSync(join(tmp, 'package.json'), JSON.stringify({ private: true, dependencies })) + execSync('npm install --package-lock-only --ignore-scripts', { cwd: tmp, stdio: 'pipe' }) + const lock = readFileSync(join(tmp, 'package-lock.json'), 'utf8') + const parsed = JSON.parse(lock) + parsed.name = name + writeFileSync(join(BOOTSTRAP_DIR, filename), JSON.stringify(parsed, null, 2) + '\n') + console.log(` ${filename} -> ${Object.values(dependencies)[0]}@${version}`) + } finally { + rmSync(tmp, { recursive: true, force: true }) + } +} diff --git a/src/install-pnpm/bootstrap/exe-lock.json b/src/install-pnpm/bootstrap/exe-lock.json index beb363f..5232f02 100644 --- a/src/install-pnpm/bootstrap/exe-lock.json +++ b/src/install-pnpm/bootstrap/exe-lock.json @@ -5,13 +5,13 @@ "packages": { "": { "dependencies": { - "@pnpm/exe": "11.0.0-beta.3" + "@pnpm/exe": "11.0.0-beta.4-1" } }, "node_modules/@pnpm/exe": { - "version": "11.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@pnpm/exe/-/exe-11.0.0-beta.3.tgz", - "integrity": "sha512-yWNlHHdYmvf4c0MCkCzAa4csJDPdA+7yJCbXBUDXMbUu/0Zv/AxtO77q24MwlnBUC0dWeA+0F/pPmdkR9aTV2A==", + "version": "11.0.0-beta.4-1", + "resolved": "https://registry.npmjs.org/@pnpm/exe/-/exe-11.0.0-beta.4-1.tgz", + "integrity": "sha512-2VzvynS54qE+Q0LGXzTCFKChq79Yr1xKLTAEkvIcBLoM+puRuI3xyrqtWx47esxhjbQlF0jRUyU8ISbSG92yBQ==", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -27,18 +27,18 @@ "url": "https://opencollective.com/pnpm" }, "optionalDependencies": { - "@pnpm/linux-arm64": "11.0.0-beta.3", - "@pnpm/linux-x64": "11.0.0-beta.3", - "@pnpm/macos-arm64": "11.0.0-beta.3", - "@pnpm/macos-x64": "11.0.0-beta.3", - "@pnpm/win-arm64": "11.0.0-beta.3", - "@pnpm/win-x64": "11.0.0-beta.3" + "@pnpm/linux-arm64": "11.0.0-beta.4-1", + "@pnpm/linux-x64": "11.0.0-beta.4-1", + "@pnpm/macos-arm64": "11.0.0-beta.4-1", + "@pnpm/macos-x64": "11.0.0-beta.4-1", + "@pnpm/win-arm64": "11.0.0-beta.4-1", + "@pnpm/win-x64": "11.0.0-beta.4-1" } }, "node_modules/@pnpm/linux-arm64": { - "version": "11.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@pnpm/linux-arm64/-/linux-arm64-11.0.0-beta.3.tgz", - "integrity": "sha512-TF2fyuCY9GggR4kfhjo1hMmgn+rIohenwNoH0tLPM7JlBK7/UAIFt1LI+o999tRwTCEw7gnxHFwtI2vyQuDfNw==", + "version": "11.0.0-beta.4-1", + "resolved": "https://registry.npmjs.org/@pnpm/linux-arm64/-/linux-arm64-11.0.0-beta.4-1.tgz", + "integrity": "sha512-aPf2hhCwWQQ1vNm3Sxq6BLtqnvv6eZ8iJq/oqJOm2WFzq9l59jbmn0eaUtDOlafjfzkijqg+cj46h0XT2Dqsfw==", "cpu": [ "arm64" ], @@ -52,9 +52,9 @@ } }, "node_modules/@pnpm/linux-x64": { - "version": "11.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@pnpm/linux-x64/-/linux-x64-11.0.0-beta.3.tgz", - "integrity": "sha512-7GrLsnSuDH62y486GUTwJdohGIC1ugz9ZJkbKOHgxIAkNGcSTJ1IkkdARtv7/WMmOEwwESDmtpOQ6LmjnpDMSA==", + "version": "11.0.0-beta.4-1", + "resolved": "https://registry.npmjs.org/@pnpm/linux-x64/-/linux-x64-11.0.0-beta.4-1.tgz", + "integrity": "sha512-1hTcyZSVJWpPNHs3u7RbfbAmZXPBLIZQVt/z1XjcDnzI8S49NGIvir876/gq9jL69ZPoE1a6z+qSe3zUPmw0ng==", "cpu": [ "x64" ], @@ -68,9 +68,9 @@ } }, "node_modules/@pnpm/macos-arm64": { - "version": "11.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@pnpm/macos-arm64/-/macos-arm64-11.0.0-beta.3.tgz", - "integrity": "sha512-NQKgI1DURrEiOUzpxL0Mc+yn7DV4tpShqGnjaJLbz8ZCXsX/qhmybebvCG3r+IfSk3P5KID66lcgC/Osiaz0Dg==", + "version": "11.0.0-beta.4-1", + "resolved": "https://registry.npmjs.org/@pnpm/macos-arm64/-/macos-arm64-11.0.0-beta.4-1.tgz", + "integrity": "sha512-7iJdDfWaRWeoGBvU3gJcxbReYM83IhiWFZPHMSW+ga44W/qTzczYIeGeCorsxQRKBPnw2qK3hh9bevkyX6XOWw==", "cpu": [ "arm64" ], @@ -84,9 +84,9 @@ } }, "node_modules/@pnpm/macos-x64": { - "version": "11.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@pnpm/macos-x64/-/macos-x64-11.0.0-beta.3.tgz", - "integrity": "sha512-Ky22KFYHXx8+8WU4KJT9NXVgzFioL2w9pHTQjsqTK70AbxiErscPYhrFIehlCNbXjgs+tGVIy13QNKkiwvmS8w==", + "version": "11.0.0-beta.4-1", + "resolved": "https://registry.npmjs.org/@pnpm/macos-x64/-/macos-x64-11.0.0-beta.4-1.tgz", + "integrity": "sha512-wREXbc2hrSd6r/dyPYuFIkkFoIbtmke5rlJrcITe65OvIQmSW+Fp3X8PBIYcnx3lJyk4809YlqI184yovUaMZA==", "cpu": [ "x64" ], @@ -100,9 +100,9 @@ } }, "node_modules/@pnpm/win-arm64": { - "version": "11.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@pnpm/win-arm64/-/win-arm64-11.0.0-beta.3.tgz", - "integrity": "sha512-7L8TFNDm25m+XYSyhcola3YFd/li6BZzzl56SsyGnZabsvUslMwnDiJad48wOz8IuN7zsrTSGh+X/x6F+GdrFQ==", + "version": "11.0.0-beta.4-1", + "resolved": "https://registry.npmjs.org/@pnpm/win-arm64/-/win-arm64-11.0.0-beta.4-1.tgz", + "integrity": "sha512-ygHjDdc0h2uCIcBa30Cnd2ciGWFNC0qm2t0w88PYEC/1rmbGCDfqeGtf/8R8THzTVOuw/pOzIDTs6QEhB6aPOg==", "cpu": [ "arm64" ], @@ -116,9 +116,9 @@ } }, "node_modules/@pnpm/win-x64": { - "version": "11.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@pnpm/win-x64/-/win-x64-11.0.0-beta.3.tgz", - "integrity": "sha512-Z/6OpMUaIpggXjCtWEhp6kWjiT/2EImhkJAu8AodOORqeNcWouGEq3sO4XU0em6d+pAHmdV0hWMQ2xCUmPVuiA==", + "version": "11.0.0-beta.4-1", + "resolved": "https://registry.npmjs.org/@pnpm/win-x64/-/win-x64-11.0.0-beta.4-1.tgz", + "integrity": "sha512-//5eHf7Zw4MtgJhlD4VUbemngxMnhwySgZNGu0ngkNBRVjnESE7NoXZZ5kHIdatv6VQpqkCthNZrheaiJedSGw==", "cpu": [ "x64" ], diff --git a/src/install-pnpm/bootstrap/pnpm-lock.json b/src/install-pnpm/bootstrap/pnpm-lock.json index 0fd63ad..2b5082a 100644 --- a/src/install-pnpm/bootstrap/pnpm-lock.json +++ b/src/install-pnpm/bootstrap/pnpm-lock.json @@ -5,13 +5,13 @@ "packages": { "": { "dependencies": { - "pnpm": "11.0.0-beta.3" + "pnpm": "11.0.0-beta.4-1" } }, "node_modules/pnpm": { - "version": "11.0.0-beta.3", - "resolved": "https://registry.npmjs.org/pnpm/-/pnpm-11.0.0-beta.3.tgz", - "integrity": "sha512-6PrfRjycZV4vRX6ttG9oR6pOgbI2/OcF2QLOzHm35UcRuvtqP4zf3wQfAAPwEbeu1uAbpSg/Q5cL8h32tumy6Q==", + "version": "11.0.0-beta.4-1", + "resolved": "https://registry.npmjs.org/pnpm/-/pnpm-11.0.0-beta.4-1.tgz", + "integrity": "sha512-zkZWSclaXz4NI43dkF0uYx8bGXjoy7T1KNPKjaGt1pQcJVD6foShIVum5dO47t5hpTvDNfPUGUGxXcM/RXRZRQ==", "license": "MIT", "bin": { "pn": "bin/pnpm.mjs",