From 28a9ddb3ed48e361a57dd0580ce15d26faff9a41 Mon Sep 17 00:00:00 2001 From: Roel de Cort Date: Tue, 19 May 2026 14:45:25 +0200 Subject: [PATCH] fix(docs): allow release-line snapshot refresh Signed-off-by: Roel de Cort --- website/docusaurus.config.ts | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 8b534eb75..4fa19275b 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -1,3 +1,4 @@ +import fs from 'node:fs'; import {themes as prismThemes} from 'prism-react-renderer'; import type {Config} from '@docusaurus/types'; import type * as Preset from '@docusaurus/preset-classic'; @@ -11,6 +12,26 @@ const docsPluginDefaultExclude = [ '**/*.test.{js,jsx,ts,tsx}', '**/__tests__/**', ]; +const releaseLineVersionLabels = { + '0.2.0': '0.2.x', + '0.1.0': '0.1.x', +} as const; + +function readDocsVersions(): string[] { + try { + const versions = JSON.parse(fs.readFileSync(new URL('./versions.json', import.meta.url), 'utf8')); + return Array.isArray(versions) ? versions : []; + } catch { + return []; + } +} + +const docsVersions = new Set(readDocsVersions()); +const releaseLineVersions = Object.fromEntries( + Object.entries(releaseLineVersionLabels) + .filter(([version]) => docsVersions.has(version)) + .map(([version, label]) => [version, {label}]), +); const config: Config = { title: 'OpenBao Operator', @@ -65,12 +86,7 @@ const config: Config = { label: 'next', path: 'next', }, - '0.2.0': { - label: '0.2.x', - }, - '0.1.0': { - label: '0.1.x', - }, + ...releaseLineVersions, }, }, blog: false,