runtime/entrypoints/server.entrypoint.ts
runtime/entrypoints/server.entrypoint.ts is a file in Project Scripts. 24 lines of code and 4 definitions.
import { transportFindings, transportVerdict } from "#core/validators/server.validator";
import { NO_BUILD_CONFIG } from "#configuration/strings/server.strings";
import { buildConfigFiles } from "#core/loaders/server.loader";
import { defineCheck } from "@govlab/context/check";
import { listenerSurfacesOf } from "#core/adapters/server.adapter";
import { normalizePath } from "@ssot/govlab/shared/resolvers/anchor.resolver.ts";
import process from "node:process";
import { relative } from "node:path";
defineCheck({ detects: [], enforces: ["architecture:encryption-in-transit"] });
const files = buildConfigFiles();
if (files.length === 0) {
process.stderr.write(NO_BUILD_CONFIG);
process.exitCode = 1;
} else {
const findings = await Promise.all(
files.map(async (file) => {
const shown = normalizePath(relative(process.cwd(), file));
return transportFindings(shown, await listenerSurfacesOf(file));
}),
);
const verdict = transportVerdict(findings.flat(), files.length);
process.stdout.write(verdict.text);
process.exitCode = verdict.held ? 0 : 1;
}