UNPKG

@frontitude/cli

Version:

The Frontitude CLI enables product teams to integrate their code with Frontitude (frontitude.com), thus creating a single source of truth for their product copy, from design to development.

1 lines 1.9 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pullCopyLibrary=exports.getSourceLanguageLocaleId=exports.mapWorkspaceTagNamesToIds=exports.getWorkspaceProjects=exports.generateFrontitudeLibraryLink=void 0;const tslib_1=require("tslib"),envConfig_1=tslib_1.__importDefault(require("../envConfig")),workspaceApi=tslib_1.__importStar(require("./api/workspace")),array_1=require("../utils/array"),generateFrontitudeLibraryLink=()=>`${envConfig_1.default.SERVER_URL}/library`;exports.generateFrontitudeLibraryLink=generateFrontitudeLibraryLink;const getWorkspaceProjects=async()=>{const{projects:e}=await workspaceApi.getWorkspaceProjects();return e};exports.getWorkspaceProjects=getWorkspaceProjects;const mapWorkspaceTagNamesToIds=async(e=[])=>{if(0===e.length)return{};return await workspaceApi.mapTagNamesToIds(e)};exports.mapWorkspaceTagNamesToIds=mapWorkspaceTagNamesToIds;const getSourceLanguageLocaleId=async()=>{var e;const{settings:a}=await workspaceApi.getSettings()||{};return(null===(e=null==a?void 0:a.localization)||void 0===e?void 0:e.sourceLanguageLocaleId)||""};exports.getSourceLanguageLocaleId=getSourceLanguageLocaleId;const pullCopyLibrary=async({status:e,hasKey:a,isIncludeTranslations:r,isIncludeMetadata:s,isUseNestedFormat:t,tagIds:o})=>{const i={type:"json",analyticsProps:{origin:"CLI"},filters:{searchQuery:null,searchMode:"by-value",tagIds:o,status:e||null,isHidden:!1,hasDraft:null,hasKey:!1===a?"all":"with-key"},isIncludeMetadata:s,isIncludeTranslations:r,isUseNestedFormat:t,isIncludeOnlyFinalizedTranslations:!1};let n={};if(r){const{localeIds:e}=await workspaceApi.getWorkspaceLocales(),a=(0,array_1.partitionArrayBySize)(e,2);for(const e of a){const a=await workspaceApi.pullCopyLibrary({...i,filteredLocaleIds:e});n={...n,...a}}}else n=await workspaceApi.pullCopyLibrary(i);return r?n:{source:n}};exports.pullCopyLibrary=pullCopyLibrary;