diff --git a/.changeset/perfect-frogs-decide.md b/.changeset/perfect-frogs-decide.md new file mode 100644 index 000000000000..0811000ad600 --- /dev/null +++ b/.changeset/perfect-frogs-decide.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +[fix] load CSS before JS preloads diff --git a/packages/kit/src/runtime/server/page/render.js b/packages/kit/src/runtime/server/page/render.js index d0bdaa5ecc56..5ea26e4fd425 100644 --- a/packages/kit/src/runtime/server/page/render.js +++ b/packages/kit/src/runtime/server/page/render.js @@ -100,8 +100,11 @@ export async function render_response({ ? `` : '' : [ - ...Array.from(js).map((dep) => ``), - ...Array.from(css).map((dep) => ``) + // From https://web.dev/priority-hints/: + // Generally, preloads will load in the order the parser gets to them for anything above "Medium" priority + // Thus, we should list CSS first + ...Array.from(css).map((dep) => ``), + ...Array.from(js).map((dep) => ``) ].join('\n\t\t'); /** @type {string} */