everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
27 lines (25 loc) • 1.26 kB
JavaScript
import { walkConfigSlots } from "../config-slots.mjs";
import { auditReleasePlane, authoredSlotPaths } from "./release-plane.mjs";
import { findWorkspaceRoot } from "../workspace/workspace.mjs";
import { readInstalledFrameworkVersion } from "../framework-version.mjs";
import { collectSlotPinRefs } from "../deploy/rollback.mjs";
//#region src/services/resolution/plane-audit.ts
const auditSessionPlane = (session, options) => auditReleasePlane({
slots: collectSlotPinRefs(session.config ?? {}),
authoredPaths: authoredSlotPaths(session.rawConfig ?? {}),
localVersionOf: (name) => readInstalledFrameworkVersion(findWorkspaceRoot(session.root)?.dir ?? session.root, name),
provisionedSlots: session.releasePlane?.omitted,
configSlotPaths: configSlotPathsOf(session.config),
manifestSlotPaths: Object.keys(session.releaseManifest?.slots ?? {}),
pinnedReleaseVersion: session.releaseManifest?.frameworkVersion,
...options?.fetchImpl ? { fetchImpl: options.fetchImpl } : {}
});
const configSlotPathsOf = (config) => {
if (!config || typeof config !== "object") return [];
const paths = [];
walkConfigSlots(config, ({ slot }) => paths.push(slot));
return paths;
};
//#endregion
export { auditSessionPlane };
//# sourceMappingURL=plane-audit.mjs.map