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
+20
View File
@@ -33,6 +33,7 @@ import { pathToFileURL } from "node:url";
import { formatWrn, parse } from "@wrnexus/syntax";
import { AI_GUIDE, CLAUDE_MD } from "./ai-guide.ts";
import { inspectProject, type DoctorCheck } from "./doctor.ts";
import { generateApplicationTypes } from "./types.ts";
/** The version of the CLI currently running (its own package.json). */
function cliVersion(): string {
@@ -1783,6 +1784,10 @@ const MIGRATIONS: Migration[] = [
description:
"Adds compatible imports, type checking, stores, and legacy behavior configuration.",
apply(ctx) {
// Workspace manifests are updated alongside each configured application,
// but they are not themselves runnable apps. Keep app-owned declarations
// under the individual app roots instead of creating `<workspace>/app`.
if (!existsSync(join(ctx.appRoot, "app", "pages"))) return;
updateV060Config(ctx);
const types = join(ctx.appRoot, "app", "types");
if (!existsSync(types)) {
@@ -2115,6 +2120,17 @@ const MIGRATIONS: Migration[] = [
// select for non-link items as well as navigation items.
},
},
{
version: "0.8.8",
id: "0.8.8-editor-types-and-update-verification",
description:
"Adds typed page context support and regenerates lint-safe application declarations before update verification.",
apply() {
// No source rewrite is required. The 0.8.8 CLI regenerates application
// declarations immediately before verification, repairing stale empty
// interface contracts produced by earlier releases.
},
},
];
/** Release tooling uses this to require an explicit migration entry per version. */
@@ -2297,6 +2313,10 @@ export function blockingVerificationChecks(checks: DoctorCheck[]): DoctorCheck[]
}
function verifyApp(app: UpdatedApp): boolean {
// Generated declarations must reflect the newly installed CLI before the
// application's lint/typecheck scripts inspect them. This also repairs stale
// generated output left by an older framework version.
if (existsSync(join(app.root, "app", "pages"))) generateApplicationTypes(app.root);
const health = inspectProject(app.root);
const failed = blockingVerificationChecks(health);