rosey-cloudcannon-connector
Version:
Middleware that connects Rosey to CloudCannon to enable editing of Rosey translations via CloudCannon's CMS.
41 lines (32 loc) ⢠1.62 kB
JavaScript
import { readConfigFile, handleConfigPaths } from "../utils/file-helpers.mjs";
import { configWarnings } from "./config-warnings.mjs";
import { checkAndCleanRemovedLocales } from "./clean-unused-files.mjs";
import { callSmartling } from "./call-smartling.mjs";
import { generateTranslationFiles } from "./generate-translation-files.mjs";
import { generateLocales } from "./generate-locales.mjs";
import { generateConfig } from "../utils/generate-config.mjs";
export async function generate() {
console.log("\n--- Starting Rosey CloudCannon Connector ---");
console.log("\nšļø Reading config file...");
// Check for a config file and generate one if not found
await generateConfig();
const configData = await readConfigFile(
handleConfigPaths("./rosey/rcc.yaml")
);
// Some warnings for commonly forgotten unconfigured values
configWarnings(configData);
console.log("\n\nšļø Checking for content to archive...");
await checkAndCleanRemovedLocales(configData);
console.log("\n\nšļø Generating translation files...");
await generateTranslationFiles(configData);
console.log("\nšļø Finished generating translation files!");
if (configData.smartling.enabled) {
console.log("\n\nš¤ Calling Smartling for translations...");
await callSmartling(configData);
console.log("š¤ Finished calling & generating Smartling files!");
}
console.log("\n\nšļø Generating locales files...");
await generateLocales(configData);
console.log("\nšļø Finished generating locales files!");
console.log("\n--- Finished Rosey CloudCannon Connector ---");
}