UNPKG

@capawesome/cli

Version:

The Capawesome Cloud Command Line Interface (CLI) to manage Live Updates and more.

32 lines (31 loc) 1.31 kB
import httpClient from '../utils/http-client.js'; import consola from 'consola'; import { createRequire } from 'module'; import * as semver from 'semver'; const require = createRequire(import.meta.url); const pkg = require('../../package.json'); class UpdateServiceImpl { httpClient; constructor(httpClient) { this.httpClient = httpClient; } async checkForUpdate() { try { const response = await this.httpClient.get(`https://registry.npmjs.org/${pkg.name}/latest`); const latestVersion = response.data.version; if (pkg.version.includes('-dev')) { console.log(''); // Add an empty line for better readability consola.info(`You are using a development version of Capawesome CLI (${pkg.version}). The latest stable version is ${latestVersion}.`); return; } if (semver.gt(latestVersion, pkg.version)) { consola.warn(`New version of Capawesome CLI available: ${pkg.name}@${latestVersion}. Please update to receive the latest features and bug fixes.`); } } catch (error) { consola.warn('Failed to check for updates.'); } } } const updateService = new UpdateServiceImpl(httpClient); export default updateService;