UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

35 lines (34 loc) 1.09 kB
export { sortPageAssetsForEarlyHintsHeader }; import { higherFirst } from '../../utils.js'; async function sortPageAssetsForEarlyHintsHeader(pageAssets, isProduction) { pageAssets.sort(higherFirst(({ assetType }) => { // In dev, we load scripts first in order to parallelize I/O and CPU if (!isProduction && assetType === 'script') { return 1; } let priority = 0; // CSS has highest priority if (assetType === 'style') return priority; priority--; // Visual assets have high priority if (assetType === 'font') return priority; priority--; if (assetType === 'image') return priority; priority--; if (assetType === 'video') return priority; priority--; if (assetType === 'audio') return priority; priority--; // Others if (assetType !== 'script') return priority; priority--; // JavaScript has lowest priority return priority; })); }