feat: update prebuild script to ensure generated SEO data is used and refactor SEO data import

This commit is contained in:
Your Name
2026-03-23 19:26:53 +02:00
parent 0fe1e42e54
commit 5207204778
2 changed files with 8 additions and 14 deletions

View File

@@ -1,17 +1,11 @@
// Prefer a generated SEO data file at build time if present (seoData.generated.json).
// This file is optional and created by frontend/scripts/merge-keywords.mjs.
let seoSeedConfig: any;
try {
// try to load generated first
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
seoSeedConfig = (await import('@/seo/seoData.generated.json')).default;
} catch (err) {
// fallback to original
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
seoSeedConfig = (await import('@/seo/seoData.json')).default;
}
// At build time we prefer the generated SEO data file. The build's `prebuild`
// script ensures `seoData.generated.json` exists. Import it statically so the
// bundler does not need top-level await.
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import seoSeedConfig from '@/seo/seoData.generated.json';
import type {
LocalizedText,
LocalizedTextList,
@@ -46,7 +40,7 @@ interface SeoSeedConfig {
collectionPageSeeds: CollectionPageSeed[];
}
const seedConfig = seoSeedConfig as SeoSeedConfig;
const seedConfig = (seoSeedConfig as unknown) as SeoSeedConfig;
function buildToolFaqs(seed: ToolPageSeed): SeoFaqTemplate[] {
return [