release: WRNexusJS 0.8.0
Quality / quality (ubuntu-latest) (push) Failing after 21s
Quality / quality (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-08-02 23:18:51 +05:30
parent 87507edf59
commit 586a6db8ff
625 changed files with 243608 additions and 11210 deletions
@@ -0,0 +1,23 @@
import { expect, test } from "bun:test";
import { analyzeOptimizations, generate, optimizeAst, parse } from "../src/index.ts";
test("compiler folds literal branches and reports optimization opportunities", () => {
const ast = parse(`component Optimized {
props { title: string = "Hello" }
state count = 0
state unused = 1
functions {
client function increment(): void { count++ }
client function orphan(): void { unused++ }
}
style { .used { color: red } .unused-css { color: blue } }
view { <section class="used"><h1>{title}</h1>{#if false}<p>dead</p>{:else}<button @click="increment">{count}</button>{/if}</section> }
}`);
const report = analyzeOptimizations(ast);
expect(report.eliminatedBranches).toBeGreaterThan(0);
expect(report.unusedHandlers).toContain("orphan");
expect(report.unusedLocalCssClasses).toContain("unused-css");
expect(report.constantProps).toContain("title");
expect(optimizeAst(ast).ast.view).not.toEqual(ast.view);
expect(generate(ast)).not.toContain("dead");
});