rsshub
Version:
Make RSS Great Again!
46 lines (44 loc) • 1.39 kB
JavaScript
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 };