kentcdodds/mdx-bundler

[error]Cannot process MDX file with esbuild

jialouluos opened this issue · 6 comments

v10.0.1 bug?

import remarkGFM from 'remark-gfm';
const { code} = await bundleMDX({
		source: source.replaceAll(/\$.*(?<val>[\>\=\<]+).*\$/gm, `{'$<val>'}`),
		mdxOptions(options) {
			options.remarkPlugins = [
				...(options.remarkPlugins ?? []),
				remarkGFM,
			];
			options.rehypePlugins = [...(options.rehypePlugins ?? [])];
			return options;
		},
	});

show:Cannot process MDX file with esbuild [plugin @mdx-js/esbuild]

version @9 is running properly

I had this same error today.

I'm using Remix and had mdx-bundler inside serverDependenciesToBundle in remix.config.js, which was required for v9.x.

Removing it again fixed the issue.

I.e.:

//remix.config.js
serverDependenciesToBundle: [
  /^mdx-bundler.*/", // remove this entry
],

I had this same error today.

I'm using Remix and had mdx-bundler inside serverDependenciesToBundle in remix.config.js, which was required for v9.x.

Removing it again fixed the issue.

I.e.:

//remix.config.js
serverDependenciesToBundle: [
  /^mdx-bundler.*/", // remove this entry
],

I removed remark-gfm and it worked, but I need remark-gfm

Does the gfm plugin for mdx-bundler(v10) exist in error handling for backquotes? The gfm plugin for mdx-bundler(v9) handles backquotes correctly

We're using remark-gfm in production as well with no issues - are you using mdx-bundler@10.0.1 and remark-gfm@4.0.0?

Here's our full serverDependenciesToBundle - maybe it will work for you 🤞🏻

serverDependenciesToBundle: [
    // MDX:
    /^rehype.*/,
    /^remark.*/,
    /^unified.*/,
    /^unist.*/,
    /^mdast.*/,
    /^micromark.*/,
    "devlop",
    "ccount",
    "markdown-table",
    "zwitch",
    "fault",
    "decode-named-character-reference",
    "longest-streak",
    "character-entities",
  ],

getting this error when trying to using:

  • astro (i dont think this part matters)
  • remark-shiki-twoslash, or
  • remark-shaku-code-annotate

import {bundleMDX} from 'mdx-bundler'
import { readSync } from 'to-vfile'

import remarkShikiTwoslash from 'remark-shiki-twoslash'

const mdxSource = readSync(`src/components/thing.md`)


const result = await bundleMDX({
  source: mdxSource.toString(),
  mdxOptions (options) {
    options.remarkPlugins = [
       [remarkShikiTwoslash, { theme: "dark-plus" }]
    ]
    return options
  }
  
})

const {code, frontmatter} = result

export { code, frontmatter }

https://github.com/airtonix/shaku-astro-mdxbundler-bug-223