link-headers-experiment
Divyansh Singh 3 months ago
parent e936b34c13
commit d9b0794270

@ -218,23 +218,29 @@ export default defineConfig({
id, id,
'Link: ' + toPreload.map((link) => toLinkHeader(link)).join(', ') 'Link: ' + toPreload.map((link) => toLinkHeader(link)).join(', ')
]) ])
return code.replace(/(<\w+)/g, '$1\n') // FIXME: hacky line splitting
}, },
buildEnd: (siteConfig) => { buildEnd: (siteConfig) => {
const _headers = headers.sort(
headers (a, b) =>
.sort( b[0].length - a[0].length ||
(a, b) => a[0].localeCompare(b[0]) ||
b[0].length - a[0].length || a[1].localeCompare(b[1])
a[0].localeCompare(b[0]) || )
a[1].localeCompare(b[1])
) fs.mkdirSync(path.join(siteConfig.outDir, '.vite'), { recursive: true })
.map(([id, header]) => `${id}\n\t${header}`)
.join('\n\n') + '\n' fs.writeFileSync(
path.join(siteConfig.outDir, '.vite/headers.json'),
JSON.stringify(headers, null, 2),
'utf-8'
)
fs.writeFileSync( fs.writeFileSync(
path.join(siteConfig.outDir, '_headers'), path.join(siteConfig.outDir, '_headers'),
_headers, headers.map(([id, header]) => `${id}\n\t${header}`).join('\n\n') + '\n',
'utf-8' 'utf-8'
) )
} }

Loading…
Cancel
Save