`esm_loader` should use a primordial to get `cwd`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 122k
- Forks
- 37.3k
- Ø Merge
- 4 T. 2 Std.
- Gemergte PRs (30 T.)
- 283
Beschreibung
Version
v18.9.0
Platform
Linux vhost1 5.18.10-76051810-generic #202207071639~1657252310~22.04~7d5e891 SMP PREEMPT_DYNAMIC Fri J x86_64 x86_64 x86_64 GNU/Linux
Subsystem
esm_loader
What steps will reproduce the bug?
process.cwd = () => {
(async () => {
await import('.');
})();
};
await import('.');
How often does it reproduce? Is there a required condition?
Always.
What is the expected behavior?
No RangeErrors.
What do you see instead?
Exception in PromiseRejectCallback:
node:internal/modules/esm/resolve:1110
};
RangeError: Maximum call stack size exceeded
Exception in PromiseRejectCallback:
node:internal/modules/esm/loader:163
const output = await hook(arg0, meta.context, nextNextHook);
Additional information
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Führe die bereitgestellte Reproduktion unter Node.js v18.9.0 aus und untersuche anschließend node:internal/modules/esm/resolve.js und node:internal/modules/esm/loader.js an den im Stack-Trace angegebenen Stellen. Verfolge, wie esm_loader cwd erhält, und aktualisiere es so, dass das angeforderte primordial verwendet wird; als erledigt gilt die Aufgabe, wenn die Reproduktion ohne RangeErrors abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 55/100