@paroicms/server
Version:
The ParoiCMS server
33 lines • 1.39 kB
JavaScript
import { rename, writeFile } from "node:fs/promises";
import { join } from "node:path";
const PLUGIN_FIELDS = {
leadParagraph: "@paroicms/quill-editor-plugin",
htmlContent: "@paroicms/quill-editor-plugin",
introduction: "@paroicms/quill-editor-plugin",
footerMention: "@paroicms/quill-editor-plugin",
video: "@paroicms/video-plugin",
oneLanguageVideo: "@paroicms/video-plugin",
phones: "@paroicms/list-field-plugin",
featuredDocument: "@paroicms/internal-link-plugin",
};
export async function migrateFrom9To10(directory, oldSchema) {
const schema = structuredClone(oldSchema);
schema.ParoiCMSSiteSchemaFormatVersion = "10";
for (const nodeType of schema.nodeTypes ?? []) {
if (!nodeType.fields)
continue;
for (let i = 0; i < nodeType.fields.length; ++i) {
const field = nodeType.fields[i];
if (typeof field !== "string")
continue;
const pluginName = PLUGIN_FIELDS[field];
if (pluginName) {
nodeType.fields[i] = `${field}[${pluginName}]`;
}
}
}
await rename(join(directory, "site-schema.json"), join(directory, "site-schema-v9.json"));
await writeFile(join(directory, "site-schema.json"), JSON.stringify(schema, undefined, 2));
return schema;
}
//# sourceMappingURL=site-schema-migration-9-to-10.js.map