feat: publish changed packages independently
This commit is contained in:
@@ -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([]);
|
||||
});
|
||||
|
||||
@@ -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-"));
|
||||
|
||||
Reference in New Issue
Block a user