@capawesome/cli
Version:
The Capawesome Cloud Command Line Interface (CLI) to manage Live Updates and more.
27 lines (26 loc) • 999 B
JavaScript
import { createRequire } from 'module';
import consola from 'consola';
import * as semver from 'semver';
const require = createRequire(import.meta.url);
const pkg = require('../../package.json');
import httpClient from '../utils/http-client.js';
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 (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;