rsshub
Version:
Make RSS Great Again!
45 lines (43 loc) • 1.36 kB
JavaScript
import "./dist-Bog6z_OM.mjs";
import "./config-MQ-7ebJ_.mjs";
import "./logger-C4avouvV.mjs";
import "./ofetch-DKl_Ma9g.mjs";
import { t as parseDate } from "./parse-date-r5WDWHno.mjs";
import "./helpers-Bo4JQYdN.mjs";
import { t as got_default } from "./got-CO-ndVl2.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 };