scripts/sync-console-headers.ts
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env bun
import { readFileSync, writeFileSync } from 'node:fs'
import path from 'node:path'
import { buildConsoleContentSecurityPolicy } from './console-security-policy.ts'
const headersPath = path.resolve(import.meta.dir, '../public/_headers')
const policy = buildConsoleContentSecurityPolicy()
const headers = readFileSync(headersPath, 'utf8')
if (!/^ Content-Security-Policy: .+$/m.test(headers)) {
console.error('No Content-Security-Policy line found in public/_headers')
process.exit(1)
}
const cspLine = ` Content-Security-Policy: ${policy}`
const nextHeaders = headers.replace(
/^ Content-Security-Policy: .+$/m,
cspLine,
)
if (nextHeaders === headers) {
console.log('Content-Security-Policy already up to date in public/_headers')
process.exit(0)
}
writeFileSync(headersPath, nextHeaders)
console.log('Updated public/_headers Content-Security-Policy')