Support Babel 8 in babelParser (loadPartialConfigSync)
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Calme
- Stack technique
- react, typescript
- Domaine
- tooling
Piste de recherche
Commencez par le chemin synchrone de babelParser indiqué dans dist/babelParser.js et examinez l'appel à loadPartialConfig. Utilisez le repro.mjs fourni avec @babel/core 8.0.1, puis vérifiez que l'analyse syntaxique réussit avec Babel 8 tout en conservant la compatibilité avec Babel 7.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
react-docgen@8.0.3 cannot parse components when its @babel/core dependency is resolved to Babel 8.
babelParser calls loadPartialConfig synchronously. Starting with Babel 8, that API expects a callback; synchronous callers must use loadPartialConfigSync.
This surfaced through Storybook's react-docgen plugin when a workspace-wide override resolved Babel to 8.0.1. Storybook is currently tracking Babel 8 support and explicitly waiting for react-docgen compatibility: https://github.com/storybookjs/storybook/issues/35295
Minimal reproduction
package.json:
{
"private": true,
"type": "module",
"packageManager": "pnpm@11.13.0",
"dependencies": {
"@babel/core": "8.0.1",
"react-docgen": "8.0.3"
}
}
pnpm-workspace.yaml:
packages:
- .
overrides:
'@babel/core': 8.0.1
repro.mjs:
import { parse } from 'react-docgen';
parse('export const Button = ({ label }) => <button>{label}</button>;');
Run:
pnpm install
node repro.mjs
Actual result
Error: Starting from Babel 8.0.0, the 'loadPartialConfig' function expects a callback. If you need to call it synchronously, please use 'loadPartialConfigSync'.
at loadPartialConfig (.../@babel/core/lib/index-shared.js:2207:11)
at buildPluginList (.../react-docgen/dist/babelParser.js:34:27)
Expected result
Parsing succeeds with Babel 8, while retaining Babel 7 compatibility.
Versions
react-docgen: 8.0.3@babel/core: 8.0.1- Node.js: 24.18.0
- pnpm: 11.13.0
The likely compatibility change is to use loadPartialConfigSync for this synchronous code path; that API is also available in Babel 7.
- Langage dominant
- TypeScript
- Étoiles
- 3.8k
- Forks
- 316
- Merge moyen
- 3 h 28 min
- PR mergées (30 j)
- 6
Guide de contribution
Ouvrir 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 reactjs/react-docgen
-
Typescript Status Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
reactjs/react-docgen#1005 · 4 réactions ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
reactjs/react-docgen#997 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
reactjs/react-docgen#994 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
reactjs/react-docgen#982 · 2 commentaires ·
-
Escapable commas in CLI options? Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
reactjs/react-docgen#962 · 1 commentaire ·
Toutes les issues de reactjs/react-docgen
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Ouvertebug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Client support matrix inclusion Ouverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
calcite-components needs triage refactor
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Esri/calcite-design-system#15203 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
fullcalendar/fullcalendar#8106 ·