UNPKG

rsshub

Version:
46 lines (44 loc) 1.39 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { load } from "cheerio"; //#region lib/routes/firefox/release.ts const platformSlugs = { desktop: "releasenotes", beta: "beta/notes", nightly: "nightly/notes", android: "android/releasenotes", ios: "ios/notes" }; const route = { path: "/release/:platform?", name: "Unknown", maintainers: [], handler }; async function handler(ctx) { const { platform = "desktop" } = ctx.req.param(); const devicePlatform = platform.replace("-", "/"); const link = ["https://www.mozilla.org/en-US/firefox", Object.hasOwn(platformSlugs, devicePlatform) ? platformSlugs[devicePlatform] : devicePlatform].filter(Boolean).join("/"); const $ = load((await got_default.get(link)).data); const version = $(".c-release-version").text(); const pubDate = parseDate($(".c-release-date").text(), "MMMM D, YYYY"); return { title: `Firefox ${platform} release notes`, link, item: [{ title: `Firefox ${platform} ${version} release notes`, link, description: $(".c-release-notes").html(), guid: `${platform} ${version}`, pubDate }] }; } //#endregion export { route };