@foal/cli
Version:
CLI tool for FoalTS
35 lines (34 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.upgrade = upgrade;
// FoalTS
const file_system_1 = require("../../file-system");
const utils_1 = require("../../utils");
async function getLatestVersion() {
const response = await fetch('https://registry.npmjs.org/@foal/core/latest');
const { version } = await response.json();
return version;
}
async function upgrade({ version, autoInstall }, options = { getLatestVersion }) {
version ??= await options.getLatestVersion();
utils_1.logger.log();
utils_1.logger.log(` Upgrading @foal/* dependencies to version ${version}...`);
utils_1.logger.log();
const fs = new file_system_1.FileSystem();
const dependencies = fs.getProjectDependencies();
for (const dependency of dependencies) {
if (dependency.name.startsWith('@foal/')) {
fs.setOrUpdateProjectDependency(dependency.name, version);
}
}
const devDependencies = fs.getProjectDevDependencies();
for (const devDependency of devDependencies) {
if (devDependency.name.startsWith('@foal/')) {
fs.setOrUpdateProjectDevDependency(devDependency.name, version);
}
}
if (autoInstall) {
await (0, utils_1.installDependencies)();
utils_1.logger.log();
}
}