UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

45 lines (43 loc) • 1.63 kB
import { Finding } from "./domain.mjs"; import { checkConfig } from "./checks/config.mjs"; import { scanImports } from "./checks/imports.mjs"; import { checkRouteGuards } from "./checks/route-guards.mjs"; import { checkRoutes } from "./checks/routes.mjs"; import { checkUiSeam, readRouterSeam } from "./checks/ui-seam.mjs"; import { buildManifest, readConfigKeys } from "./manifest.mjs"; import { Effect } from "effect"; //#region src/services/scaffold/upgrade-audit/audit.ts const audit = (projectDir) => Effect.gen(function* () { const [routeFindings, guardFindings, configFindings, importRewrites, configKeys, uiSeamFindings, routerSeam] = yield* Effect.all([ checkRoutes(projectDir), checkRouteGuards(projectDir), checkConfig(projectDir), scanImports(projectDir), readConfigKeys(projectDir), checkUiSeam(projectDir), readRouterSeam(projectDir) ]); const findings = [ ...routeFindings, ...guardFindings, ...configFindings, ...uiSeamFindings, ...importRewrites.flatMap((rewrite) => rewrite.files.length === 0 ? [] : [new Finding({ check: "imports", path: rewrite.files.join(", "), severity: "warn", message: `legacy import "${rewrite.from}" — rewrite to "${rewrite.to}"` })]) ]; const blockers = findings.filter((f) => f.severity === "blocker"); const warns = findings.filter((f) => f.severity === "warn"); const tier = blockers.length === 0 ? "A" : "B"; return { tier, findings, manifest: yield* buildManifest(projectDir, tier, blockers.length, warns.length, importRewrites, configKeys, routerSeam) }; }); //#endregion export { audit }; //# sourceMappingURL=audit.mjs.map