Nested Component imports via MDX aren't JSX transformed
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- next.js, react, typescript
- Domaine
- build-system
Piste de recherche
Commencez par src/hooks/useMDXComponent.ts aux lignes indiquées dans la stack trace, puis reproduisez l’échec à l’aide du projet Contentlayer-Repro lié. Comparez la sortie transformée pour un composant autonome et pour un composant avec des imports imbriqués, et utilisez pages/posts/[slug].tsx comme point d’entrée du rendu. Le travail est terminé lorsque les composants importés avec leurs propres imports se rendent sans l’erreur Unexpected token.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I'm running into problems when trying to import components inside a .mdx file, and more specifically when the imported component also imports other components. What I want to be able to do
// first-post.mdx
// ideally, I would like to be able to do this
import TestComponent from "components/TestComponent";
// this currently works unless this component imports another component
import TestComponent from "./components/TestComponent";
<TestComponent />
Importing the component by starting with the base path works as long as it is a standalone component and does not import another component. If that component does include an import statement, I get the following error:
error - SyntaxError: Unexpected token '<'
at new Function (<anonymous>)
at getMDXComponent (file:///Users/andy/Documents/Dev/2022/webby/node_modules/next-contentlayer/src/hooks/useMDXComponent.ts:18:14)
at file:///Users/andy/Documents/Dev/2022/webby/node_modules/next-contentlayer/src/hooks/useMDXComponent.ts:23:30
at Object.useMemo (/Users/andy/Documents/Dev/2022/webby/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5124:19)
at Object.useMemo (/Users/andy/Documents/Dev/2022/webby/node_modules/react/cjs/react.development.js:1650:21)
at useMDXComponent (file:///Users/andy/Documents/Dev/2022/webby/node_modules/next-contentlayer/src/hooks/useMDXComponent.ts:23:16)
at SinglePostPage (webpack-internal:///./pages/posts/[slug].tsx:42:96)
at renderWithHooks (/Users/andy/Documents/Dev/2022/webby/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
at renderIndeterminateComponent (/Users/andy/Documents/Dev/2022/webby/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5731:15)
at renderElement (/Users/andy/Documents/Dev/2022/webby/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5946:7) {
page: '/posts/[slug]'
The weird thing is, I'm having this issue on a project that I just spun up this morning, but not on a project that was created several months ago, even though they are using the same version of Next and ContentLayer. This could mean that it's user error, but I've looked in detail at the setup/configs for both projects and cannot find the issue.
Repro
- A minimalist reproduction can be found here
- The other project that I mentioned earlier that seems to be working correctly can be found here
- Specifically, you can see it working in this post, which is importing this component
- Like I mentioned, I'm not able to find a meaningful difference in the structure/configs of the two projects
Attempted Solutions:
- I'm getting the same error as mentioned in this issue. However, I have double checked, and I am defining the
contentTypeasmdx. #180 - I also tried defining the cwd inside of
makeSourceas described here, but that did not resolve the issue. #302
- Langage dominant
- TypeScript
- Étoiles
- 3.5k
- Forks
- 192
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de contentlayerdev/contentlayer
-
Error when building with contentlayer 0.3.4 and Next.js 13 App RouterPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
contentlayerdev/contentlayer#506 · 84 commentaires · 47 réactions ·
-
Poor/broken monorepo DX: can't specify .contentlayer/ output path, no docs for custom config pathOuvertehelp wanted meta: never-stale needs-research
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
contentlayerdev/contentlayer#464 · 4 commentaires · 9 réactions ·
-
State of the projectOuvertemeta: never-stale
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 10/100
contentlayerdev/contentlayer#429 · 49 commentaires · 83 réactions ·
-
meta: never-stale topic: markdown/mdx
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
contentlayerdev/contentlayer#421 · 4 réactions ·
-
meta: never-stale needs-research topic: schema
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
contentlayerdev/contentlayer#420 ·
Toutes les issues de contentlayerdev/contentlayer
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
feat(icons): add [solidping]Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
homarr-labs/dashboard-icons#2939 ·
Les mainteneurs répondent en général sous 1 jour
-
Agent/category reasoning variants are still checked against the stale model cache in chat.paramsOuverteopencode
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
code-yeongyu/oh-my-openagent#10003 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Les mainteneurs répondent en général sous 1 jour
-
Actions on ToastsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
nextcloud-libraries/nextcloud-dialogs#2669 ·
Les mainteneurs répondent en général sous 1 jour