feat(backend): update collections, config and migration tools
Update Payload CMS configuration, collections (Audit, Posts), and add migration scripts/reports.
This commit is contained in:
52
apps/backend/scripts/migration/inspect-lexical.ts
Normal file
52
apps/backend/scripts/migration/inspect-lexical.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env tsx
|
||||
import { config as dotenvConfig } from 'dotenv'
|
||||
import { resolve, dirname } from 'path'
|
||||
import { fileURLToPath } from 'url'
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url)
|
||||
const __dirname = dirname(__filename)
|
||||
const envPath = resolve(__dirname, '../../.env')
|
||||
|
||||
dotenvConfig({ path: envPath })
|
||||
|
||||
import { parseWebflowCSV } from './csvParser'
|
||||
import { htmlToLexical } from './lexicalConverter'
|
||||
|
||||
async function main() {
|
||||
const data = await parseWebflowCSV('/Users/pukpuk/Dev/website-enchun-mgr/恩群數位行銷 - 行銷放大鏡集.csv')
|
||||
const failPost = data.posts.find((p: any) => p.title.includes('一點都不難'))
|
||||
|
||||
const lexical = htmlToLexical(failPost.content || '')
|
||||
const parsed = JSON.parse(lexical)
|
||||
|
||||
console.log('Root type:', parsed.root?.type)
|
||||
console.log('Root version:', parsed.root?.version)
|
||||
console.log('Children count:', parsed.root?.children?.length)
|
||||
|
||||
// Check each child
|
||||
let issueCount = 0
|
||||
parsed.root?.children?.forEach((child: any, i: number) => {
|
||||
if (!child.type) {
|
||||
console.log('Child', i, 'missing type')
|
||||
issueCount++
|
||||
}
|
||||
if (!child.version) {
|
||||
console.log('Child', i, 'missing version')
|
||||
issueCount++
|
||||
}
|
||||
if (!child.children || !Array.isArray(child.children)) {
|
||||
console.log('Child', i, 'missing or invalid children array')
|
||||
issueCount++
|
||||
}
|
||||
})
|
||||
|
||||
console.log('Issues found:', issueCount)
|
||||
|
||||
// Show first few children
|
||||
console.log('\nFirst 3 children:')
|
||||
parsed.root?.children?.slice(0, 3).forEach((child: any, i: number) => {
|
||||
console.log(`[${i}]`, JSON.stringify(child, null, 2))
|
||||
})
|
||||
}
|
||||
|
||||
main().catch(console.error)
|
||||
Reference in New Issue
Block a user