packages-update
Version:
📦 A flexible and lightweight updater for packages
55 lines (54 loc) • 3.69 kB
JavaScript
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;
;