@paroicms/cli
Version:
CLI of ParoiCMS
43 lines • 1.68 kB
JavaScript
import { rename, writeFile } from "node:fs/promises";
import { join } from "node:path";
export async function migrateFrom5To6(directory, oldSchema) {
const newSchema = {
...oldSchema,
};
newSchema.version = "6";
if (oldSchema.nodeTypes) {
newSchema.nodeTypes = oldSchema.nodeTypes.map((nodeType) => {
if (nodeType.kind !== "document")
return nodeType;
let { typeName, kind, documentKind, route, redirectTo, ogType, disableFeaturedImage, fields, lists, routingChildren, children: regularChildren, orderChildrenBy: regularChildrenSorting, ...rest } = nodeType;
lists = lists?.map((list) => {
const { listName, parts, orderBy: sorting, ...rest } = list;
return {
listName,
parts,
sorting,
...rest,
};
});
return {
typeName,
kind,
documentKind: documentKind === "routingPoint" ? "routing" : documentKind,
route,
redirectTo,
ogType,
disableFeaturedImage,
fields,
lists,
routingChildren,
regularChildren,
regularChildrenSorting,
...rest,
};
});
}
await rename(join(directory, "site-schema.json"), join(directory, "site-schema-v5.json"));
await writeFile(join(directory, "site-schema.json"), JSON.stringify(newSchema, undefined, 2));
return newSchema;
}
//# sourceMappingURL=site-schema-migration-5-to-6.js.map