everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
59 lines (57 loc) • 1.94 kB
JavaScript
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