Error [ERR_INTERNAL_ASSERTION]: Unexpected module status 0. Cannot require() ES Module ... because it is not yet fully loaded.
Personne n'a encore pris cette issue.
- Langage dominant
- JavaScript
- Étoiles
- 122k
- Forks
- 37.4k
- Merge moyen
- 4 j 3 h
- PR mergées (30 j)
- 272
Description
Version
25.8.0
Platform
Linux nic-desktop 6.17.0-14-generic #14-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 9 17:01:16 UTC 2026 x86_64 GNU/Linux
Subsystem
require(esm)
What steps will reproduce the bug?
- Clone https://github.com/nicolo-ribaudo/babel-polyfills/tree/nodejs-bug
- Run
yarn && yarn build - Run
yarn jest es-shims
Note that this is not using Jest's vm-based ESM support. It's using jest-light-runner to run directly in native Node.js ESM.
How often does it reproduce? Is there a required condition?
Consistently. Note that if I run only one test (yarn jest es-shims -t "tepmlate tag") it does not fail.
What is the expected behavior? Why is that the expected behavior?
That it does not tell me to submit a bug report :P
What do you see instead?
Error [ERR_INTERNAL_ASSERTION]: [BABEL]: Unexpected module status 0. Cannot require() ES Module /home/nic/Documents/dev/github.com/babel/babel-polyfills/packages/babel-plugin-polyfill-es-shims/lib/index.js because it is not yet fully loaded.
This may be caused by a race condition if the module is simultaneously dynamically import()-ed via Promise.all().
Try await-ing the import() sequentially in a loop instead.
(From /home/nic/Documents/dev/github.com/babel/babel-polyfills/packages/babel-plugin-polyfill-es-shims/test/node_modules/@@/babel-plugin-polyfill-es-shims.js in non-loader-hook thread)
This is caused by either a bug in Node.js or incorrect usage of Node.js internals.
Please open an issue with this stack trace at https://github.com/nodejs/node/issues
(While processing: /home/nic/Documents/dev/github.com/babel/babel-polyfills/packages/babel-plugin-polyfill-es-shims/test/node_modules/@@/babel-plugin-polyfill-es-shims.js)
at assert.fail (node:internal/assert:17:9)
at ModuleLoader.importSyncForRequire (node:internal/modules/esm/loader:358:16)
at loadESMFromCJS (node:internal/modules/cjs/loader:1620:24)
at Module._compile (node:internal/modules/cjs/loader:1785:5)
at Object..js (node:internal/modules/cjs/loader:1934:10)
at Module.load (node:internal/modules/cjs/loader:1524:32)
at Module._load (node:internal/modules/cjs/loader:1326:12)
at TracingChannel.traceSync (node:diagnostics_channel:328:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)
at Module.require (node:internal/modules/cjs/loader:1547:12)
at require (node:internal/modules/helpers:152:16)
at Object.<anonymous> (/home/nic/Documents/dev/github.com/babel/babel-polyfills/packages/babel-plugin-polyfill-es-shims/test/node_modules/@@/babel-plugin-polyfill-es-shims.js:1:18)
at Module._compile (node:internal/modules/cjs/loader:1803:14)
at Object..js (node:internal/modules/cjs/loader:1934:10)
at Module.load (node:internal/modules/cjs/loader:1524:32)
at Module._load (node:internal/modules/cjs/loader:1326:12)
at TracingChannel.traceSync (node:diagnostics_channel:328:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)
at Module.require (node:internal/modules/cjs/loader:1547:12)
at require (node:internal/modules/helpers:152:16)
Additional information
No response
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.
Piste de recherche
Reproduisez l’échec avec les commandes babel-polyfills indiquées dans l’issue, puis commencez par ModuleLoader.importSyncForRequire dans node:internal/modules/esm/loader et les entrées associées de la pile du loader CommonJS. Comparez le comportement d’un test unique à celui de la suite complète, et utilisez le chemin require(esm) signalé pour suivre l’état du chargement des modules. C’est terminé lorsque la reproduction fournie ne déclenche plus l’assertion interne.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript
- Domaine
- backend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100