UNPKG

@paroicms/server

Version:
44 lines 1.78 kB
import { rename, writeFile } from "node:fs/promises"; import { join } from "node:path"; export async function migrateFrom8To9(directory, oldSchema) { const newSchema = { ParoiCMSSiteSchemaFormatVersion: "9", ...oldSchema, }; delete newSchema.version; if (newSchema.configuration?.backOffice) { newSchema.configuration.adminUi = newSchema.configuration.backOffice; delete newSchema.configuration.backOffice; } if (newSchema.plugins) { newSchema.plugins = newSchema.plugins.map((plugin) => { if (typeof plugin === "object" && plugin.configuration?.backOffice) { plugin.configuration.adminUi = plugin.configuration.backOffice; delete plugin.configuration.backOffice; } return plugin; }); } if (newSchema.nodeTypes) { newSchema.nodeTypes = newSchema.nodeTypes.map((nodeType) => { if (nodeType.backOffice) { nodeType.adminUi = nodeType.backOffice; delete nodeType.backOffice; } if (nodeType.fields) { nodeType.fields = nodeType.fields.map((field) => { if (typeof field === "object" && field.backOffice) { field.adminUi = field.backOffice; delete field.backOffice; } return field; }); } return nodeType; }); } await rename(join(directory, "site-schema.json"), join(directory, "site-schema-v8.json")); await writeFile(join(directory, "site-schema.json"), JSON.stringify(newSchema, undefined, 2)); return newSchema; } //# sourceMappingURL=site-schema-migration-8-to-9.js.map