// Code "forked" from https://stackoverflow.com/a/66430461/4788966 import Document, { Main, NextScript, Head, Html } from 'next/document' import {readFileSync} from "fs" import {join} from "path" class InlineStylesHead extends Head { getCssLinks(files) { const { assetPrefix, devOnlyCacheBusterQueryString, dynamicImports, optimizeFonts, } = this.context const cssFiles = files.allFiles.filter((file) => file.endsWith('.css')) const sharedFiles = new Set(files.sharedFiles) // Unmanaged files are CSS files that will be handled directly by the // webpack runtime (`mini-css-extract-plugin`). let dynamicCssFiles = dedupe(dynamicImports.filter((file) => file.endsWith('.css'))) if (dynamicCssFiles.length) { const existing = new Set(cssFiles) dynamicCssFiles = dynamicCssFiles.filter((file) => !(existing.has(file) || sharedFiles.has(file))) cssFiles.push(...dynamicCssFiles) } let cssLinkElements = [] cssFiles.forEach((file) => { cssLinkElements.push(