`require.cache` is `undefined` in SEA
Personne n'a encore pris cette issue.
- Langage dominant
- JavaScript
- Étoiles
- 122k
- Forks
- 37.3k
- Merge moyen
- 4 j 2 h
- PR mergées (30 j)
- 283
Description
Version
v20.4.0 v20.5.1 v20.3.0
Platform
Linux 5.15.90.1-microsoft-standard-WSL2
Subsystem
No response
What steps will reproduce the bug?
echo 'console.log(typeof require.cache)' > main.js
node main.js
echo '{ "main": "main.js", "output": "sea-prep.blob" }' > sea-config.json
node --experimental-sea-config sea-config.json
cp $(command -v node) hello
npx postject hello NODE_SEA_BLOB sea-prep.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
./hello
How often does it reproduce? Is there a required condition?
Always reproducible
What is the expected behavior? Why is that the expected behavior?
require.cache should be an object as of https://nodejs.org/api/modules.html#requirecache
What do you see instead?
require.cache is undefined. Trying to index it or enumerate it with Object.entries will result in TypeError
Additional information
This is relevant for Fastify which uses cache to provide a printable name for a plugin (based on its file path). See https://github.com/fastify/fastify/blob/c235d2dc136a67c51095f188742c743d8cb32839/lib/pluginUtils.js#L27
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
Commencez par la reproduction dans main.js et la configuration SEA avec sea-config.json, puis comparez le comportement de require.cache dans un processus Node classique et dans l’exécutable généré. Lisez la documentation des modules Node.js et les points d’entrée du runtime liés à SEA ; le travail est terminé lorsque require.cache est un objet dans le cas SEA reproduit, sans casser le cas d’utilisation de Fastify pluginUtils.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, nodejs
- Domaine
- backend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 52/100