UNPKG

everything-dev

Version:

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

59 lines (57 loc) • 1.94 kB
import { GateBlocked } from "./domain.mjs"; import { scanImports } from "./checks/imports.mjs"; import { audit } from "./audit.mjs"; import { applyManifest } from "./steps/apply-manifest.mjs"; import { authorConfig } from "./steps/author-config.mjs"; import { migratePnpm } from "./steps/migrate-pnpm.mjs"; import { migrateRouteMounts } from "./steps/migrate-route-mounts.mjs"; import { migrateUiSeam } from "./steps/migrate-ui-seam.mjs"; import { retireV1Shell } from "./steps/retire-v1-shell.mjs"; import { retireZephyr } from "./steps/retire-zephyr.mjs"; import { Effect } from "effect"; //#region src/services/scaffold/upgrade-audit/apply.ts const apply = (projectDir, dryRun) => Effect.gen(function* () { const mountResult = yield* migrateRouteMounts(projectDir, dryRun); const report = yield* audit(projectDir); if (report.manifest.blockerCount > 0) return yield* Effect.fail(new GateBlocked({ findings: report.findings.filter((f) => f.severity === "blocker") })); const rewrites = yield* scanImports(projectDir); const configResult = yield* authorConfig(projectDir, report.manifest.plugins, dryRun); const pnpmResult = yield* migratePnpm(projectDir, dryRun); const seamResult = yield* migrateUiSeam(projectDir, dryRun); const shellResult = yield* retireV1Shell(projectDir, dryRun); const zephyrResult = yield* retireZephyr(projectDir, dryRun); const manifestResult = yield* applyManifest(projectDir, rewrites, dryRun); return [ { name: "migrate-route-mounts", result: mountResult }, { name: "author-config", result: configResult }, { name: "migrate-pnpm", result: pnpmResult }, { name: "migrate-ui-seam", result: seamResult }, { name: "retire-v1-shell", result: shellResult }, { name: "retire-zephyr", result: zephyrResult }, { name: "apply-manifest", result: manifestResult } ]; }); //#endregion export { apply }; //# sourceMappingURL=apply.mjs.map