fix: stabilize workspace gateway and scaffolding

This commit is contained in:
2026-07-13 12:54:07 +05:30
parent 6dfef7da3c
commit 88e907783a
63 changed files with 380 additions and 206 deletions
+26
View File
@@ -3,6 +3,7 @@ import { existsSync, mkdtempSync, readFileSync, rmSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { scaffoldApp } from "../src/create.ts";
import { currentCliVersion } from "../src/update-notifier.ts";
test("scaffoldApp creates a comprehensive .gitignore", () => {
const parent = mkdtempSync(join(tmpdir(), "wrnexus-create-"));
@@ -49,3 +50,28 @@ test("scaffoldApp includes production build and start scripts", () => {
rmSync(parent, { recursive: true, force: true });
}
});
test("scaffoldApp pins the current framework and exposes llms.txt publicly", () => {
const parent = mkdtempSync(join(tmpdir(), "wrnexus-create-"));
const root = join(parent, "current-app");
try {
scaffoldApp(root, "current-app");
const pkg = JSON.parse(readFileSync(join(root, "package.json"), "utf8"));
const version = currentCliVersion();
expect(pkg.wrnexus.version).toBe(version);
for (const dependency of Object.values(pkg.dependencies) as string[]) {
expect(dependency).toBe(version);
}
expect(pkg.devDependencies["@wrnexus/cli"]).toBe(version);
expect(existsSync(join(root, "public", "llms.txt"))).toBe(true);
expect(existsSync(join(root, "llms.txt"))).toBe(false);
expect(readFileSync(join(root, "app", "pages", "index.wrn"), "utf8")).toContain(
'href="/api/hello"',
);
expect(existsSync(join(root, "app", "pages", "about.wrn"))).toBe(true);
} finally {
rmSync(parent, { recursive: true, force: true });
}
});