feat: publish changed packages independently
Quality / quality (ubuntu-latest) (push) Failing after 21s
Quality / quality (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-08-11 15:32:36 +05:30
parent feff30a2b5
commit 8d044565e3
67 changed files with 10935 additions and 876 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ test("doctor --fix applies safe repairs and is idempotent", () => {
expect(repairs.map(({ name }) => name)).toContain("configuration");
expect(existsSync(join(root, "wrnexus.config.ts"))).toBe(true);
const manifest = JSON.parse(readFileSync(join(root, "package.json"), "utf8"));
expect(manifest.dependencies["@wrnexus/router"]).toBe("^0.8.0");
expect(manifest.dependencies["@wrnexus/router"]).toBe("^0.7.0");
expect(manifest.wrnexus.version).toBe("0.8.0");
expect(repairProject(root)).toEqual([]);
});
+32 -1
View File
@@ -2,7 +2,38 @@ import { expect, test } from "bun:test";
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { blockingVerificationChecks, updateApp, verificationCommands } from "../src/update.ts";
import {
blockingVerificationChecks,
bumpDeps,
updateApp,
verificationCommands,
} from "../src/update.ts";
test("dependency updates use each package's independently published version", () => {
const pkg = {
dependencies: {
"@wrnexus/ui": "^0.8.8",
"@wrnexus/core": "^0.8.8",
"@wrnexus/unavailable": "^0.8.7",
},
devDependencies: { "@wrnexus/cli": "^0.8.8" },
};
const changes = bumpDeps(
pkg,
"0.8.9",
new Map([
["@wrnexus/ui", "0.8.10"],
["@wrnexus/core", "0.8.8"],
["@wrnexus/cli", "0.8.9"],
]),
);
expect(pkg.dependencies["@wrnexus/ui"]).toBe("^0.8.10");
expect(pkg.dependencies["@wrnexus/core"]).toBe("^0.8.8");
expect(pkg.dependencies["@wrnexus/unavailable"]).toBe("^0.8.7");
expect(pkg.devDependencies["@wrnexus/cli"]).toBe("^0.8.9");
expect(changes).toHaveLength(2);
});
test("updateApp migrates project files without marking an unverified update complete", () => {
const root = mkdtempSync(join(tmpdir(), "wrnexus-update-"));