UNPKG

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
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 ---"); }