Module

x/composer_check_updates/check.ts

PHP port of npm-check-updates
File
async function getLatestVersionOfPackage(name: string): Promise<string> { const res = await fetch("https://github.com/" + name + "/releases/latest"); const url = res.url; const splitUrl = url.split("/"); const latestVersion = splitUrl[splitUrl.length - 1]; return latestVersion.replace("v", "");}
console.info("\n");const composer = JSON.parse(Deno.readTextFileSync("./composer.json"));const deps = { "require-dev": composer["require-dev"], "require": composer["require"],};let hasDeps = false;for (const key in deps) { for (const depName in composer[key]) { if (depName === "php") { continue; } hasDeps = true; const depVersion = composer[key][depName]; const latestVersion = await getLatestVersionOfPackage(depName); console.info(` > ${depName} ${depVersion} -> ${latestVersion}`); composer[key][depName] = latestVersion; }}if (hasDeps) { Deno.writeTextFileSync("./composer.json", JSON.stringify(composer, null, 4));} else { console.info(`\n > No dependencies were found\n`);}console.info("\n");