File size: 1,015 Bytes
b91e262 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 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
}
}
|