diff --git a/packages/astro-early-hints/src/middleware/index.ts b/packages/astro-early-hints/src/middleware/index.ts index 24593eb..04bc436 100644 --- a/packages/astro-early-hints/src/middleware/index.ts +++ b/packages/astro-early-hints/src/middleware/index.ts @@ -10,19 +10,23 @@ export const onRequest = defineMiddleware(async (_, next) => { const root = parse(await response.text()); const head = root.querySelector("head")!; - root.querySelectorAll('link[rel="stylesheet"]').map((style) => { - head.insertAdjacentHTML( - "afterbegin", - ``, - ); - }); + root.querySelectorAll('link[rel="stylesheet"]') + .filter((style) => style.hasAttribute("href") && style.getAttribute("href")) + .map((style) => { + head.insertAdjacentHTML( + "afterbegin", + ``, + ); + }); - root.querySelectorAll('script[type="module"]').map((script) => { - head.insertAdjacentHTML( - "afterbegin", - ``, - ); - }); + root.querySelectorAll('script[type="module"]') + .filter((script) => script.hasAttribute("src") && script.getAttribute("src")) + .map((script) => { + head.insertAdjacentHTML( + "afterbegin", + ``, + ); + }); return new Response(root.toString(), response); });