async function main()

in common/update-cli.js [192:223]


async function main() {
    try {
        const currentVersion = JSON.parse(fs.readFileSync(cliJsonPath, "utf-8")).version;
        console.log("Current version:", currentVersion);
        const latestVersion = await getLatestRelease();
        console.log("Latest version:", latestVersion);
        console.log("Downloading new checksums...");
        await downloadFile(`https://github.com/jetbrains/qodana-cli/releases/latest/download/checksums.txt`, "checksums.txt");
        updateVersions(latestVersion, currentVersion);
        updateCliChecksums(latestVersion, "checksums.txt", cliJsonPath);
        updateCircleCIChecksums("../orb/commands/scan.yml");

        // Download binaries, calculate checksums, and update Checksums.kt
        const checksums = [];
        for (const platform of PLATFORMS) {
            for (const arch of ARCHS) {
                const url = `https://github.com/jetbrains/qodana-cli/releases/latest/download/qodana_${platform}_${arch}${platform === "windows" ? ".exe" : ""}`;
                const filePath = path.join(__dirname, `qodana_${platform}_${arch}${platform === "windows" ? ".exe" : ""}`);
                console.log(`Downloading ${url}...`);
                await downloadFile(url, filePath);
                const checksum = sha256sum(filePath);
                checksums.push({platform, arch, checksum});
                fs.unlinkSync(filePath);
            }
        }
        updateChecksumsKtFile(checksums, latestVersion);

        console.log("Checksums updated successfully");
    } catch (error) {
        console.error(error);
    }
}