UNPKG

rsshub

Version:
60 lines (58 loc) 1.95 kB
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 };