UNPKG

packages-update

Version:

📦 A flexible and lightweight updater for packages

55 lines (54 loc) • 3.69 kB
"use strict"; 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.updater = void 0; const promises_1 = require("node:fs/promises"); const get_indentation_js_1 = require("../helpers/get-indentation.js"); const get_property_js_1 = require("../helpers/get-property.js"); const log_js_1 = require("../helpers/log.js"); const packages_js_1 = require("../services/packages.js"); const index_js_1 = require("../configs/index.js"); const { bold, dim, reset, yellow, green, blue } = log_js_1.styles; const updater = (configs) => __awaiter(void 0, void 0, void 0, function* () { if (index_js_1.results.length === 0) { !(configs === null || configs === void 0 ? void 0 : configs.quiet) && console.log('✅ Nothing to be updated'); return; } // SKip line !(configs === null || configs === void 0 ? void 0 : configs.quiet) && console.log(); const largestPackageName = (0, get_indentation_js_1.getLargerString)(index_js_1.results.map((pkg) => pkg.name)); const largestPackageCurrentVersion = (0, get_indentation_js_1.getLargerString)(index_js_1.results.map((pkg) => pkg.currentVersion)); const largestPackageoperator = (0, get_indentation_js_1.getLargerString)(index_js_1.results.map((pkg) => pkg.operator)); const formattedResults = index_js_1.results.map((currentPackage) => { return { name: currentPackage.name.padEnd(largestPackageName.length, ' '), operator: currentPackage.operator.padStart(largestPackageoperator.length, ' '), currentVersion: currentPackage.currentVersion.padEnd(largestPackageCurrentVersion.length, ' '), newVersion: currentPackage.newVersion, }; }); formattedResults.forEach((result) => { const dependencyType = (0, get_property_js_1.checkProperty)(packages_js_1.packageJSON.json, result.name.trim()); if (!dependencyType) return; const { name, operator, currentVersion, newVersion } = result; !(configs === null || configs === void 0 ? void 0 : configs.quiet) && console.log(`${bold}${name}${reset} ${reset}${yellow}${dim}${operator}${reset}${yellow}${currentVersion}${reset} ${dim}➜${reset} ${green}${dim}${operator}${reset}${green}${bold}${newVersion}${reset}`); packages_js_1.packageJSON.json[dependencyType][result.name.trim()] = `${result.operator.trim()}${result.newVersion.trim()}`; }); if (!(configs === null || configs === void 0 ? void 0 : configs.checkOnly)) { yield (0, promises_1.writeFile)(packages_js_1.packageJSON.path, JSON.stringify(packages_js_1.packageJSON.json, null, (configs === null || configs === void 0 ? void 0 : configs.indentation) || (0, get_indentation_js_1.getIndentation)(packages_js_1.packageJSON.path)), 'utf-8'); !(configs === null || configs === void 0 ? void 0 : configs.quiet) && console.log(`\nRun ${bold}${blue}npm i${reset} to install new versions 🚀\n`); } }); exports.updater = updater;