rune-sdk
Version:
Build a multiplayer game played by millions! Your game runs inside the Rune app with 10 million installs across [iOS](https://apps.apple.com/app/rune-games-and-voice-chat/id1450358364) and [Android](https://play.google.com/store/apps/details?id=ai.rune.ti
34 lines (33 loc) • 1.39 kB
JavaScript
import { createRequire } from "node:module";
import { createLogger } from "vite";
const require = createRequire(import.meta.url);
function getLatestNpmVersion(npmPackage) {
return fetch(`https://registry.npmjs.org/${npmPackage}/latest`)
.then((res) => res.json())
.then((res) => res.version);
}
const pkgManager = process.env.npm_config_user_agent?.split("/")[0] || "npm";
const installYarn = "yarn add rune-sdk@";
const installNpm = "npm install --save rune-sdk@";
export function packageVersionCheck(runePkgPath) {
let logger = createLogger();
return [
{
name: "vite:rune-plugin:package-version-check",
enforce: "post",
config: (config) => {
if (config.customLogger) {
logger = config.customLogger;
}
getLatestNpmVersion("rune-sdk")
.then((latestVersion) => {
if (latestVersion !== require(runePkgPath).version) {
logger.info(`\n\nrune-sdk version ${latestVersion} available.`);
logger.info(`Please install it using "${pkgManager === "npm" ? installNpm : installYarn}${latestVersion}"\n\n`);
}
})
.catch(() => logger.info("Failed to check latest rune-sdk version"));
},
},
];
}