release: WRNexusJS 0.5.0
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
/* global console */
|
||||
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
||||
import { join } from "node:path";
|
||||
import process from "node:process";
|
||||
|
||||
const root = process.cwd();
|
||||
const required = [
|
||||
"packages/auth/package.json",
|
||||
"packages/auth/src/engine.ts",
|
||||
"packages/auth/src/plugin.ts",
|
||||
"packages/auth/src/routes/api.ts",
|
||||
"packages/auth/src/stores/memory.ts",
|
||||
"packages/auth/src/stores/sql.ts",
|
||||
"packages/auth/assets/client/auth.js",
|
||||
"packages/auth/migrations/001_auth.sql",
|
||||
"examples/auth-showcase/package.json",
|
||||
];
|
||||
for (const file of required) {
|
||||
if (!existsSync(join(root, file))) throw new Error(`Missing authentication file: ${file}`);
|
||||
}
|
||||
const manifest = JSON.parse(readFileSync(join(root, "packages/auth/package.json"), "utf8"));
|
||||
if (manifest.name !== "@wrnexus/auth") throw new Error("Invalid authentication package name");
|
||||
if (manifest.version !== "0.5.0") throw new Error("Invalid authentication package version");
|
||||
const components = readdirSync(join(root, "packages/auth/components")).filter((file) =>
|
||||
file.endsWith(".wrn"),
|
||||
);
|
||||
if (components.length < 16)
|
||||
throw new Error(`Expected at least 16 auth components, received ${components.length}`);
|
||||
const plugin = readFileSync(join(root, "packages/auth/src/plugin.ts"), "utf8");
|
||||
for (const expected of [
|
||||
"clientRuntimes",
|
||||
"routeEntries",
|
||||
"middleware",
|
||||
"migrations",
|
||||
"devToolbarPanels",
|
||||
]) {
|
||||
if (!plugin.includes(expected)) throw new Error(`Auth plugin is missing ${expected}`);
|
||||
}
|
||||
const runtime = readFileSync(join(root, "packages/auth/assets/client/auth.js"), "utf8");
|
||||
if (!runtime.includes("navigator.credentials")) throw new Error("Passkey runtime is incomplete");
|
||||
if (runtime.includes("document.write"))
|
||||
throw new Error("Passkey runtime contains unsafe document.write");
|
||||
console.log(`@wrnexus/auth structural verification passed (${components.length} components).`);
|
||||
Reference in New Issue
Block a user