UNPKG

@jovotech/cli

Version:

Jovo Command Line Interface (Beta)

46 lines 2.01 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const cli_core_1 = require("@jovotech/cli-core"); const latest_version_1 = __importDefault(require("latest-version")); const envinfo_1 = __importDefault(require("envinfo")); const hook = async function () { if (!['-v', '-V', '--version', 'version'].includes(process.argv[2])) { return; } const packageJson = require('../../package'); const current = packageJson.version; const latest = await latest_version_1.default(packageJson.name); cli_core_1.Log.spacer(); cli_core_1.Log.info(`${packageJson.name}: ${current} ${current !== latest ? `(update to ${cli_core_1.chalk.green(latest)} available)` : ''}`); // Check for versions of Jovo modules within a project const cli = cli_core_1.JovoCli.getInstance(); if (cli.isInProjectDirectory()) { const packages = await cli_core_1.getPackageVersions(/^@jovotech/); if (packages.length) { const updatesAvailable = packages.some((pkg) => pkg.version.npm !== pkg.version.local); const output = [ '', `Jovo packages of the current project ${updatesAvailable ? '(updates available)' : ''}:`, cli_core_1.printPackages(packages), ]; if (updatesAvailable) { output.push('\nUse "jovo update" to get the newest versions.'); } cli_core_1.Log.info(output.join('\n')); } } // Log environment info, such as operating system const env = await envinfo_1.default.run({ System: ['OS'], Binaries: ['Node', 'npm', 'jovo'], }); cli_core_1.Log.spacer(); cli_core_1.Log.info('Environment:'); cli_core_1.Log.info(env.replace('\n', '')); process.exit(); }; exports.default = hook; //# sourceMappingURL=VersionHook.js.map