UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

33 lines (32 loc) 1.51 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkForUpdate = checkForUpdate; const picocolors_1 = __importDefault(require("picocolors")); const preload_1 = __importDefault(require("semver/preload")); const prompter_1 = require("../prompter"); const runCommand_1 = require("./runCommand"); async function checkForUpdate() { try { const { version: currentVersion, name, // eslint-disable-next-line @typescript-eslint/no-require-imports } = require('../../package.json'); if (!currentVersion) return; let { output: latestVersion } = await (0, runCommand_1.runCommand)(`npm view ${name} version`, { silent: true }); latestVersion = latestVersion.trim(); if (preload_1.default.gt(latestVersion, currentVersion)) { (0, prompter_1.logWarning)('A new version is available! ' + `Current: ${picocolors_1.default.gray(currentVersion)} | Latest: ${picocolors_1.default.green(latestVersion)}\n` + `${picocolors_1.default.yellow('Run')} ${picocolors_1.default.blue(`npm install -g ${name}@latest`)} to update.`); if (!(await (0, prompter_1.confirm)('would you like to continue with outdated version?'))) { process.exit(0); } } } catch (_error) { /* empty */ } }