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.05 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.logout=exports.login=void 0;const tslib_1=require("tslib"),open=require("open"),authApi=tslib_1.__importStar(require("./api/auth")),config=tslib_1.__importStar(require("../common/config")),envConfig_1=tslib_1.__importDefault(require("../envConfig")),string_1=require("../utils/string"),logger=tslib_1.__importStar(require("../common/logger")),openSignInPageInBrowser=o=>{if(!o)throw new Error("openSignInPageInBrowser: Missing tempSessionId");const e=`${envConfig_1.default.SERVER_URL}/sign-in?figsessid=${o}&originPlatform=CLI`;open(e)},login=async()=>{const o=(0,string_1.generateRandomString)();openSignInPageInBrowser(o);const{sessionId:e}=await authApi.persistSessionCookiePolling(o);if(!e)throw new Error("Missing sessionId in response");config.global.set({sessionId:e})};exports.login=login;const logout=async()=>{try{await authApi.logout()}catch(o){logger.error(o,{message:"[NOT-USER-BLOCKING] logout failed"})}config.global.delete("sessionId")};exports.logout=logout;