release: prepare WRNexusJS 0.8.8
Quality / quality (ubuntu-latest) (push) Failing after 9m49s
Quality / quality (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-08-11 13:40:03 +05:30
parent 816594a58b
commit feff30a2b5
97 changed files with 769 additions and 10487 deletions
+3
View File
@@ -48,6 +48,9 @@ test("generate types emits application-wide deterministic contracts", () => {
expect(output).toContain('"/realtime/chat": RealtimeMessage<');
expect(output).toContain("interface QueuePayloads");
expect(output).toContain('"email": QueuePayload<');
expect(output).toContain("type MiddlewareContexts = Record<string, never>");
expect(output).toContain("type DatabaseQueries = Record<string, never>");
expect(output).not.toMatch(/interface\s+\w+\s*\{\s*\}/);
});
test("application checker validates every wrn source", () => {
+24
View File
@@ -169,6 +169,30 @@ test("update verification skips unavailable scripts", () => {
expect(verificationCommands({ check: "bun run lint" })).toEqual([["run", "check"]]);
});
test("0.6 type declarations are created only inside runnable apps", () => {
const workspaceRoot = mkdtempSync(join(tmpdir(), "wrnexus-update-workspace-"));
const appRoot = join(workspaceRoot, "apps", "web");
mkdirSync(join(appRoot, "app", "pages"), { recursive: true });
writeFileSync(
join(workspaceRoot, "package.json"),
JSON.stringify({ name: "workspace", wrnexus: { version: "0.5.9" } }),
);
writeFileSync(
join(appRoot, "package.json"),
JSON.stringify({ name: "web", wrnexus: { version: "0.5.9" } }),
);
try {
updateApp(workspaceRoot, "0.6.0", false);
updateApp(appRoot, "0.6.0", false);
expect(existsSync(join(workspaceRoot, "app", "types", "global.d.ts"))).toBe(false);
expect(existsSync(join(appRoot, "app", "types", "global.d.ts"))).toBe(true);
} finally {
rmSync(workspaceRoot, { recursive: true, force: true });
}
});
test("0.3 WRN source normalization is conservative and idempotent", async () => {
const { migrateWrnSource } = await import("../src/update.ts");
const source = `component Card {