feat(widgets): consolidate integration metadata + shared response caching (#6691)

This commit is contained in:
Thomas authored and GitHub committed 2026-08-30 18:38:07 +02:00
1 parent 7d1d9062ed
commit 8d8dec5749
206 files changed
+3893 -1946

No files matched your search

+3 -2
View File
@@ -5,8 +5,8 @@ import { XMLParser } from "fast-xml-parser";
import { z } from "zod/v4";
import { createDocumentationLink } from "./index";
import { integrationDocSlugs } from "./integration-doc-slugs";
import { widgetDocSlugs } from "./widget-doc-slugs";
import { getIntegrationDocumentationSlug, integrationKinds } from "../integration";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
@@ -60,7 +60,8 @@ const updateSitemapTypeFileAsync = async (sitemapPathType: string) => {
};
const slugMapPaths = [
...Object.values(integrationDocSlugs)
...integrationKinds
.map(getIntegrationDocumentationSlug)
.filter(Boolean)
.map((slug) => `/docs/integrations/${slug}`),
...Object.values(widgetDocSlugs)
@@ -1,59 +0,0 @@
import type { IntegrationKind } from "../integration";
export const integrationDocSlugs: Record<IntegrationKind, string | null> = {
sabNzbd: "sabnzbd",
nzbGet: "nzbget",
deluge: "deluge",
transmission: "transmission",
qBittorrent: "q-bittorent",
aria2: "aria2",
slskd: "slskd",
sonarr: "sonarr",
radarr: "radarr",
lidarr: "lidarr",
readarr: "readarr",
prowlarr: "prowlarr",
bazarr: "bazarr",
jellyfin: "jellyfin",
emby: "emby",
plex: "plex",
jellyseerr: "jellyseerr",
seerr: "seerr",
overseerr: "overseerr",
piHole: "pi-hole",
adGuardHome: "adguard-home",
technitiumDns: "technitium-dns",
homeAssistant: "home-assistant",
openmediavault: "open-media-vault",
dashDot: "dash-dot",
glances: "glances",
tdarr: "tdarr",
proxmox: "proxmox",
nextcloud: "nextcloud",
unifiController: "unifi-controller",
opnsense: "opnsense",
ntfy: "ntfy",
gotify: "gotify",
ical: "ical",
anchor: "anchor",
truenas: "truenas",
synology: "synology",
unraid: "unraid",
coolify: "coolify",
immich: "immich",
paperlessNgx: "paperless-ngx",
patchmon: "patchmon",
tracearr: "tracearr",
speedtestTracker: "speedtest-tracker",
uptimeKuma: "uptime-kuma",
audiobookshelf: "audiobookshelf",
navidrome: "navidrome",
umami: "umami",
gluetun: "gluetun",
peaNut: "peanut",
beszel: "beszel",
traefik: "traefik",
archiveTeamWarrior: "archiveteam-warrior",
wud: "whats-up-docker",
mock: null,
};
@@ -1,6 +1,6 @@
import type { WidgetKind } from "../widget";
export const widgetDocSlugs: Record<WidgetKind, string | null> = {
export const widgetDocSlugs = {
clock: "clock",
weather: "weather",
airQuality: "air-quality",
@@ -60,4 +60,4 @@ export const widgetDocSlugs: Record<WidgetKind, string | null> = {
customApi: "custom-api",
assistant: "assistant",
wud: "whats-up-docker",
};
} satisfies Record<WidgetKind, string | null>;