✨ Add pubv-based release.sh and npm run release

Release front-door: pubv runs preflight + the interactive semver
heuristic and graduates CHANGELOG.md [Unreleased] -> dated; npm version
syncs package.json + lockfile; git commit --amend folds them into
pubv's single release commit; the tag is created AFTER the amend so it
marks the exact commit on main that gets published; then push. Tags are
v-less (--tag-prefix=none) to match the changelog compare refs.

@runwisp/pubv added as a devDependency. The short "how we got here /
what was rejected" note lives as a comment atop the script; the docs/
exploration was removed as too much to read.
This commit is contained in:
tmu committed 2026-09-07 18:17:28 +02:00
1 parent b9fb054176
commit 09c5b129bb
5 files changed
+106 -1

No files matched your search

+17
View File
@@ -10,6 +10,7 @@
"license": "MIT",
"devDependencies": {
"@arethetypeswrong/cli": "^0.18.5",
"@runwisp/pubv": "^1.5.1",
"@tsconfig/node26": "^26.0.1",
"@tsconfig/strictest": "^2.0.8",
"@types/node": "^26.4.1",
@@ -2299,6 +2300,22 @@
"url": "https://bjornlu.com/sponsor"
}
},
"node_modules/@runwisp/pubv": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/@runwisp/pubv/-/pubv-1.5.1.tgz",
"integrity": "sha512-8Tf90OQRJRmRIOXi8Bb0EzRa2rCbi48PG+ISZUTaNpHRrLOy45v8+SpQnigs0Ot6B/9wzseU8AX1Kukg+i+f2A==",
"dev": true,
"license": "MIT",
"dependencies": {
"picocolors": "^1.1.1"
},
"bin": {
"pubv": "dist/bin.js"
},
"engines": {
"node": ">=20"
}
},
"node_modules/@sindresorhus/is": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",