mirror of
https://github.com/johannes-kaindl/json-editor.git
synced 2026-07-22 07:48:51 +00:00
Zieht das byte-identische Release-Toolkit ein (release.mjs + version-bump.mjs + lib/codeberg-release.mjs + Helper-Test) und stellt die CI auf die kanonische release.yml um (strikterer Gate: +typecheck +lint; idempotentes release --clobber; Attestation v4). - package.json: npm-Scripts release + version-bump - vitest.config: include um scripts/**/*.test.ts erweitert (Helper-Test laeuft mit) - biome.json: scripts/ aus dem Lint-Scope (vendored Toolkit, byte-identisch — wie image-to-markdown/vault-rag nur src/ linten) - AGENTS.md: Commands-Block auf 'npm run release X.Y.Z' umgestellt Gate gruen: typecheck && test (604) && lint && build. 'npm run release --dry-run' verifiziert. Kein Push/Tag/Release. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
27 lines
1.5 KiB
JavaScript
27 lines
1.5 KiB
JavaScript
// Synct die Version über package.json → manifest.json → versions.json (Obsidian-Release-Hygiene).
|
|
// npm run version-bump 0.2.0
|
|
// Aktualisiert nur die Versions-Felder (package.json per gezieltem Replace → Formatierung bleibt erhalten;
|
|
// manifest.json/versions.json per JSON-Sync). versions.json bekommt {version: manifest.minAppVersion}.
|
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
|
|
const target = process.argv[2] ?? process.env.npm_package_version;
|
|
if (!target || !/^\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?$/.test(target)) {
|
|
console.error("version-bump: gültige Ziel-Version (SemVer) erwartet — z.B. `npm run version-bump 0.2.0`.");
|
|
process.exit(1);
|
|
}
|
|
|
|
// package.json: nur die Top-Level-version-Zeile ersetzen (Formatierung/Reihenfolge bleibt).
|
|
const pkgRaw = readFileSync("package.json", "utf8");
|
|
writeFileSync("package.json", pkgRaw.replace(/("version":\s*")[^"]+(")/, `$1${target}$2`));
|
|
|
|
// manifest.json: version setzen.
|
|
const manifest = JSON.parse(readFileSync("manifest.json", "utf8"));
|
|
manifest.version = target;
|
|
writeFileSync("manifest.json", JSON.stringify(manifest, null, 2) + "\n");
|
|
|
|
// versions.json: Mapping version → minAppVersion ergänzen.
|
|
const versions = JSON.parse(readFileSync("versions.json", "utf8"));
|
|
versions[target] = manifest.minAppVersion;
|
|
writeFileSync("versions.json", JSON.stringify(versions, null, 2) + "\n");
|
|
|
|
console.log(`version-bump: ${target} (minAppVersion ${manifest.minAppVersion}) → package.json · manifest.json · versions.json`);
|