Tonne of debugging - getting ready for the production builds
This commit is contained in:
80
api/scripts/reexport-pages.ts
Normal file
80
api/scripts/reexport-pages.ts
Normal file
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env tsx
|
||||
|
||||
/**
|
||||
* Re-export landing pages that are marked as published but missing their HTML override files.
|
||||
* This script fetches each page and triggers an update to regenerate the exports.
|
||||
*/
|
||||
|
||||
import { prisma } from '../src/config/database';
|
||||
import { pagesService } from '../src/modules/pages/pages.service';
|
||||
import { logger } from '../src/utils/logger';
|
||||
|
||||
async function reexportPages() {
|
||||
try {
|
||||
// Find pages that are published but might be missing exports
|
||||
const pages = await prisma.landingPage.findMany({
|
||||
where: {
|
||||
published: true,
|
||||
mkdocsPath: { not: null },
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
slug: true,
|
||||
title: true,
|
||||
description: true,
|
||||
editorMode: true,
|
||||
blocks: true,
|
||||
htmlOutput: true,
|
||||
cssOutput: true,
|
||||
mkdocsPath: true,
|
||||
mkdocsExportMode: true,
|
||||
mkdocsHideNav: true,
|
||||
mkdocsHideToc: true,
|
||||
published: true,
|
||||
seoTitle: true,
|
||||
seoDescription: true,
|
||||
},
|
||||
});
|
||||
|
||||
logger.info(`Found ${pages.length} published pages with mkdocsPath set`);
|
||||
|
||||
for (const page of pages) {
|
||||
logger.info(`Re-exporting page: ${page.slug} (${page.id})`);
|
||||
|
||||
try {
|
||||
// Trigger update with same data - this will re-export the page
|
||||
await pagesService.update(page.id, {
|
||||
title: page.title,
|
||||
description: page.description ?? undefined,
|
||||
editorMode: page.editorMode,
|
||||
blocks: page.blocks,
|
||||
htmlOutput: page.htmlOutput ?? undefined,
|
||||
cssOutput: page.cssOutput ?? undefined,
|
||||
mkdocsPath: page.mkdocsPath ?? undefined,
|
||||
mkdocsExportMode: page.mkdocsExportMode,
|
||||
mkdocsHideNav: page.mkdocsHideNav,
|
||||
mkdocsHideToc: page.mkdocsHideToc,
|
||||
published: true,
|
||||
seoTitle: page.seoTitle ?? undefined,
|
||||
seoDescription: page.seoDescription ?? undefined,
|
||||
});
|
||||
|
||||
logger.info(`✓ Successfully re-exported ${page.slug}`);
|
||||
} catch (err) {
|
||||
logger.error(`✗ Failed to re-export ${page.slug}:`, err);
|
||||
}
|
||||
}
|
||||
|
||||
logger.info('Re-export complete');
|
||||
} catch (err) {
|
||||
logger.error('Re-export script failed:', err);
|
||||
throw err;
|
||||
} finally {
|
||||
await prisma.$disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
reexportPages().catch((err) => {
|
||||
console.error('Fatal error:', err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user