/** * Currently it's not possible to export data fetching functions from MDX pages * because MDX includes them in `layoutProps`, and Next.js removes them at some * point, causing a `ReferenceError`. * * https://github.com/mdx-js/mdx/issues/742#issuecomment-612652071 * * This plugin can be removed once MDX removes `layoutProps`, at least that * seems to be the current plan. */ // https://nextjs.org/docs/basic-features/data-fetching const DATA_FETCH_FNS = ['getStaticPaths', 'getStaticProps', 'getServerProps'] module.exports = () => { return { visitor: { ObjectProperty(path) { if ( DATA_FETCH_FNS.includes(path.node.value.name) && path.findParent( (path) => path.isVariableDeclarator() && path.node.id.name === 'layoutProps', ) ) { path.remove() } }, }, } }