rsshub
Version:
Make RSS Great Again!
60 lines (58 loc) • 1.95 kB
JavaScript
import { n as init_esm_shims, t as __dirname } from "./esm-shims-CzJ_djXG.mjs";
import { t as config } from "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import "./ofetch-BIyrKU3Y.mjs";
import { t as cache_default } from "./cache-Bo__VnGm.mjs";
import "./helpers-DxBp0Pty.mjs";
import { t as art } from "./render-BQo6B4tL.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
import path from "node:path";
import { load } from "cheerio";
//#region lib/routes/winstall/update.ts
init_esm_shims();
const route = {
path: "/:appId",
categories: ["program-update"],
example: "/winstall/Mozilla.Firefox",
parameters: { appId: "Application ID" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{ source: ["winstall.app/apps/:appId"] }],
name: "Apps Update",
maintainers: ["TonyRL"],
handler
};
async function handler(ctx) {
const baseUrl = "https://winstall.app";
const appId = ctx.req.param("appId");
const { data: response } = await got_default(`${baseUrl}/_next/data/${await cache_default.tryGet("winget:buildId", async () => {
const { data } = await got_default(baseUrl);
const $ = load(data);
return JSON.parse($("#__NEXT_DATA__").text()).buildId;
}, config.cache.routeExpire, false)}/apps/${appId}.json`);
const { app } = response.pageProps;
const items = app.versions.map((item) => ({
title: `${app.name} ${item.version}`,
description: art(path.join(__dirname, "templates/desc-22b8f3f4.art"), { installers: item.installers }),
author: app.publisher,
category: app.tags,
guid: `winstall:${appId}:${item.version}`
}));
return {
title: `${app.name} - winstall`,
description: app.desc,
link: `${baseUrl}/apps/${appId}`,
image: `https://api.winstall.app/icons/next/${appId}.webp`,
language: "en",
item: items
};
}
//#endregion
export { route };