Sprint 3: ReferenceError 'document is not defined' in Vue Runtime Sub-Modules #53
Labels
No labels
bug
docs
feature
housekeeping
html-spec
performance
react-compat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
glow-all/true-headless-browser#53
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problembeschreibung
Nach Sprint 2 (#51, #52) wird
__VP_HASH_MAP__korrekt gesynct. vuejs.org erreicht jetzt die Vue Runtime, scheitert aber mit:26m56kl4l7mkj.mjsist ein Sub-Module (vue runtime-dom), geladen via_resolveSubModuleImports(). Der Fehler zeigtdocumentals nicht definiert — obwohl der Modul-Prologuevar document = globalThis.__THB_document;enthält.Analyse
Verdacht A:
globalThis.__THB_documentist zum Zeitpunkt des Sub-Module-Imports nicht gesetzt._buildModulePrologue()setzt(globalThis as any)["__THB_document"] = win.documentimport())Verdacht B:
win.documentistnulloder ein falscher WertallowedGlobals.documentkorrekt gesetzt?document.write()noch gültig?Verdacht C: Sub-Module haben einen anderen globalThis-Kontext
import()könnte Sub-Modules in einem anderen Scope ladenvar document = globalThis.__THB_documentkönnte in einem anderen globalThis suchenLösungsansatz
Option A:
documentdirekt in der Sub-Module Prologue hartcodieren (nicht via globalThis)Da
window.documentüber den Proxy sichergestellt ist.Option B: Sub-Module den globalThis-Wert explizit mitgeben (via
import.metaoder eval)Option C:
documentdirekt in den Sub-Module-Code injecten statt über PrologueAkzeptanzkriterien
documentals definiert__VP_HASH_MAP__SyncdocumentBetroffene Dateien
src/js/execution-realm.tsCross-Ref
Fix: Prologue-Architektur fundamental umgestellt (Single-Anchor-Pattern)
Problem:
_resolveSubModuleImportsschrieb Sub-Module OHNE Prologue (Zeile 472).Bun.write(subFile, subCode)— das_buildModulePrologue(...)+ fehlte nach dem Refactoring!Wirkung: Sub-Modules (runtime-dom, runtime-core) hatten keine
var document = ...→ReferenceError: document is not defined.Lösung (Single-Anchor-Pattern):
Architektur:
Früher:
globalThis.__THB_Xfür JEDES Global (100+ Einträge)Jetzt: EIN
globalThis.__THB_window→ ALLE Globals viawindow.X:✅
document is not definedGEFIXT❌ Nächster:
TypeError: instanceof — right side not object(vermutlichSVGElementfehlt im Proxy)