UNPKG

@wix/cli

Version:

CLI tool for building Wix sites and applications

130 lines (123 loc) 3.98 kB
import { createRequire as _createRequire } from 'node:module'; const require = _createRequire(import.meta.url); import { useMultilingualClient } from "./chunk-RY2IFAQA.js"; import { useProjectModel } from "./chunk-OQJA5FSX.js"; import { MULTILINGUAL_METADATA_FILENAME, TRANSLATIONS_DIR, getTranslationsDir } from "./chunk-KCDAY54L.js"; import { SiteAuthProvider } from "./chunk-CCWE4DS6.js"; import { Alert, Spinner, useAsync } from "./chunk-UC5LTXTA.js"; import { require_react } from "./chunk-QNHANFRW.js"; import { outputDir, outputFile, removeDir, writeJson } from "./chunk-TLLAD5LU.js"; import { CliError, CliErrorCode, require_lib } from "./chunk-CO5A7CZG.js"; import { __toESM, init_esm_shims } from "./chunk-EXLZF52D.js"; // ../cli-astro-commands/src/components/TranslationPullCommand/index.ts init_esm_shims(); // ../cli-astro-commands/src/components/TranslationPullCommand/TranslationPullCommand.tsx init_esm_shims(); var import_react2 = __toESM(require_react(), 1); var import_variant2 = __toESM(require_lib(), 1); // ../cli-astro-commands/src/components/TranslationPullCommand/TranslationPull.tsx init_esm_shims(); var import_react = __toESM(require_react(), 1); var import_variant = __toESM(require_lib(), 1); // ../cli-astro-commands/src/components/TranslationPullCommand/save-translation-files.ts init_esm_shims(); import { join, dirname } from "node:path"; async function saveTranslationFiles(translationsDir, translationsByLanguage, primaryLanguage) { const multilingualDir = dirname(translationsDir); await removeDir(multilingualDir); await outputDir(translationsDir); for (const [locale, translations] of Object.entries(translationsByLanguage)) { const filePath = join(translationsDir, `${locale}.json`); await outputFile(filePath, JSON.stringify(translations, null, 2)); } const metadataPath = join(multilingualDir, MULTILINGUAL_METADATA_FILENAME); await writeJson( metadataPath, { primaryLanguageCode: primaryLanguage }, { spaces: 2 } ); } // ../cli-astro-commands/src/components/TranslationPullCommand/TranslationPull.tsx var TranslationPull = ({ onComplete }) => { const { model } = useProjectModel(); const multilingualClient = useMultilingualClient(); const { status } = useAsync(async () => { const [translationsByLanguage, primaryLanguage] = await Promise.all([ multilingualClient.pullAllTranslations(), multilingualClient.getPrimaryLanguage() ]); const translationsDir = getTranslationsDir(model.projectFolder); await saveTranslationFiles( translationsDir, translationsByLanguage, primaryLanguage ); onComplete?.(); }, []); return (0, import_variant.match)(status, { Loading: () => /* @__PURE__ */ import_react.default.createElement(Spinner, { text: "Pulling translation files..." }), Success: () => { return /* @__PURE__ */ import_react.default.createElement(Alert, { type: "success" }, 'Translation files written to "', TRANSLATIONS_DIR, '"'); }, Error: () => null, NotRequested: () => null }); }; // ../cli-astro-commands/src/components/TranslationPullCommand/TranslationPullCommand.tsx var TranslationPullCommand = ({ onComplete }) => { const { model: { config } } = useProjectModel(); const { status } = useAsync(async () => { if (config.projectType !== "Site") { throw new CliError({ code: CliErrorCode.TranslationUnsupportedForProjectType(), cause: null }); } return { siteId: config.siteId }; }, []); return (0, import_variant2.match)(status, { Loading: () => null, Error: () => null, Success: ({ result: { siteId } }) => { return /* @__PURE__ */ import_react2.default.createElement(SiteAuthProvider, { siteId }, /* @__PURE__ */ import_react2.default.createElement(TranslationPull, { onComplete })); } }); }; export { TranslationPullCommand }; //# sourceMappingURL=chunk-VJRR4UI5.js.map