import { SimpleWebpackError } from './simpleWebpackError' export function getNextFontError( err: Error, module: any ): SimpleWebpackError | false { try { const resourceResolveData = module.resourceResolveData if ( !module.loaders.find((loader: any) => /next-font-loader[/\\]index.js/.test(loader.loader) ) ) { return false } // Parse the query and get the path of the file where the font function was called. // provided by next-swc next-transform-font const file = JSON.parse(resourceResolveData.query.slice(1)).path if (err.name === 'NextFontError') { // Known error thrown by @next/font, display the error message return new SimpleWebpackError( file, `\`next/font\` error:\n${err.message}` ) } else { // Unknown error thrown by @next/font return new SimpleWebpackError( file, `An error occurred in \`next/font\`.\n\n${err.stack}` ) } } catch { return false } }