UNPKG

@paroicms/cli

Version:
62 lines 3.13 kB
import { readFile } from "node:fs/promises"; import { join } from "node:path"; import { migrateFrom1To2 } from "./site-schema-migration/site-schema-migration-1-to-2.js"; import { migrateFrom20To21 } from "./site-schema-migration/site-schema-migration-2.0-to-2.1.js"; import { migrateFrom21To30 } from "./site-schema-migration/site-schema-migration-2.1-to-3.0.js"; import { migrateFrom30To31 } from "./site-schema-migration/site-schema-migration-3.0-to-3.1.js"; import { migrateFrom31To40 } from "./site-schema-migration/site-schema-migration-3.1-to-4.0.js"; import { migrateFrom40To5 } from "./site-schema-migration/site-schema-migration-4.0-to-5.js"; import { migrateFrom5To6 } from "./site-schema-migration/site-schema-migration-5-to-6.js"; import { migrateFrom6To7 } from "./site-schema-migration/site-schema-migration-6-to-7.js"; import { migrateFrom7To8 } from "./site-schema-migration/site-schema-migration-7-to-8.js"; export async function siteSchemaMigration(directories) { for (const directory of directories) { await migrateDirectory(directory); } } async function migrateDirectory(directory) { console.info(`Migrating site-schema in directory "${directory}"`); let siteSchema = JSON.parse(await readFile(join(directory, "site-schema.json"), "utf-8")); const targetVersion = "8"; if (siteSchema.version === targetVersion) { console.info(`… already at version ${targetVersion}`); return; } if (siteSchema.schemaEngineVersion === "1.0.0") { siteSchema = await migrateFrom1To2(directory, siteSchema); console.info("… migrated from version 1.0.0 to 2.0"); } if (siteSchema.schemaEngineVersion === "2.0" || siteSchema.version === "2.0") { siteSchema = await migrateFrom20To21(directory, siteSchema); console.info("… migrated from version 2.0 to 2.1"); } if (siteSchema.version === "2.1") { siteSchema = await migrateFrom21To30(directory, siteSchema); console.info("… migrated from version 2.1 to 3.0"); } if (siteSchema.version === "3.0") { siteSchema = await migrateFrom30To31(directory, siteSchema); console.info("… migrated from version 3.0 to 3.1"); } if (siteSchema.version === "3.1") { siteSchema = await migrateFrom31To40(directory, siteSchema); console.info("… migrated from version 3.1 to 4.0"); } if (siteSchema.version === "4.0") { siteSchema = await migrateFrom40To5(directory, siteSchema); console.info("… migrated from version 4.0 to 5"); } if (siteSchema.version === "5") { siteSchema = await migrateFrom5To6(directory, siteSchema); console.info("… migrated from version 5 to 6"); } if (siteSchema.version === "6") { siteSchema = await migrateFrom6To7(directory, siteSchema); console.info("… migrated from version 6 to 7"); } if (siteSchema.version === "7") { siteSchema = await migrateFrom7To8(directory, siteSchema); console.info("… migrated from version 7 to 8"); } } //# sourceMappingURL=site-schema-migration.js.map