UNPKG

@mintlify/cli

Version:

The Mintlify CLI

69 lines (68 loc) 3.03 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { getTargetMintVersion, downloadTargetMint } from '@mintlify/previewing'; import { execSync } from 'node:child_process'; import { buildLogger, getLatestCliVersion, getVersions } from './helpers.js'; export const update = (_a) => __awaiter(void 0, [_a], void 0, function* ({ packageName, silent, }) { let logger = undefined; if (!silent) { logger = buildLogger(`Updating ${packageName} to the latest version...`); } const { cli: existingCliVersion, client: existingClientVersion } = getVersions(); const latestCliVersion = getLatestCliVersion(packageName); const latestClientVersion = yield getTargetMintVersion(logger); const isUpToDate = existingCliVersion && existingClientVersion && latestClientVersion && latestCliVersion && latestCliVersion.trim() === existingCliVersion.trim() && latestClientVersion.trim() === existingClientVersion.trim(); if (isUpToDate) { if (!silent && logger) { logger.succeed('Already up to date.'); } return; } if (existingCliVersion && latestCliVersion.trim() !== existingCliVersion.trim()) { try { if (logger) { logger.text = `Updating ${packageName} package...`; } execSync(`npm install -g ${packageName}@latest --silent`); } catch (err) { if (logger) { logger.fail(`Failed to update ${packageName}@latest`); } process.exit(1); } } if (latestClientVersion && latestClientVersion !== existingClientVersion) { try { if (logger) { logger.text = `Updating Mintlify client to ${latestClientVersion}...`; } yield downloadTargetMint({ logger, targetVersion: latestClientVersion, existingVersion: existingClientVersion !== null && existingClientVersion !== void 0 ? existingClientVersion : null, }); } catch (err) { if (logger) { logger.fail(`Failed to update Mintlify client to ${latestClientVersion}`); } process.exit(1); } } if (logger) { logger.succeed(`Updated ${packageName} to the latest version: ${latestCliVersion}`); } });