release: WRNexusJS 0.7.0

This commit is contained in:
2026-08-01 10:04:42 +05:30
parent c54144f2e4
commit 87507edf59
207 changed files with 12607 additions and 679 deletions
+76
View File
@@ -0,0 +1,76 @@
import console from "node:console";
import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
import { dirname, join, resolve } from "node:path";
import { fileURLToPath } from "node:url";
import process from "node:process";
import { runBenchmark, assertBenchmarkBudget } from "../packages/benchmark/src/index.ts";
import { TagCache } from "../packages/cache/src/memory.ts";
import { secureJsonStringify } from "../packages/security/src/serialization.ts";
import { parse } from "../packages/syntax/src/index.ts";
const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
const componentSource = readFileSync(
join(root, "packages", "ui", "components", "button.wrn"),
"utf8",
);
const hydrationPayload = {
route: "/benchmark",
user: { id: "user-1", displayName: "WRNexus", token: "must-redact" },
items: Array.from({ length: 100 }, (_, index) => ({ id: index, label: `Item ${index}` })),
};
const cache = new TagCache({ maxEntries: 1000 });
for (let index = 0; index < 500; index++) cache.set(`item:${index}`, index, { tags: ["items"] });
const benchmarks = [
{
result: await runBenchmark("syntax-parse-component", () => parse(componentSource), {
iterations: 100,
warmup: 10,
}),
budget: { maxAbsoluteMs: 50, minOperationsPerSecond: 20 },
},
{
result: await runBenchmark(
"secure-hydration-serialization",
() => secureJsonStringify(hydrationPayload),
{ iterations: 250, warmup: 20 },
),
budget: { maxAbsoluteMs: 20, minOperationsPerSecond: 100 },
},
{
result: await runBenchmark(
"tag-cache-read-100",
() => {
for (let index = 0; index < 100; index++) cache.get(`item:${index}`);
},
{ iterations: 250, warmup: 20 },
),
budget: { maxAbsoluteMs: 20, minOperationsPerSecond: 100 },
},
];
for (const benchmark of benchmarks) {
assertBenchmarkBudget(benchmark.result, undefined, benchmark.budget);
}
const report = {
schemaVersion: 1,
frameworkVersion: "0.7.0",
environment: { runtime: process.version, platform: process.platform, arch: process.arch },
benchmarks: benchmarks.map(({ result, budget }) => ({ result, budget })),
};
const reportDir = join(root, ".wrnexus", "reports");
mkdirSync(reportDir, { recursive: true });
writeFileSync(join(reportDir, "benchmark-0.7.0.json"), `${JSON.stringify(report, null, 2)}\n`);
console.log(
JSON.stringify(
report.benchmarks.map(({ result }) => ({
name: result.name,
meanMs: result.meanMs,
p95Ms: result.p95Ms,
operationsPerSecond: result.operationsPerSecond,
})),
null,
2,
),
);