5.4 KiB
5.4 KiB
VG-Core Load Order
Manifest-Ladereihenfolge
Die Background-Scripts werden laut manifest.json in dieser Reihenfolge geladen:
| Reihenfolge | Script | Einordnung |
|---|---|---|
| 1 | src/core/module-registry.js |
Core |
| 2 | src/modules/vg-observe/module.js |
Fachmodul |
| 3 | src/background/db/db-constants.js |
Core-Kandidat |
| 4 | src/background/db/db-core.js |
Core-Kandidat |
| 5 | src/background/gvl/gvl-vendor-normalizer.js |
Core-Kandidat |
| 6 | src/background/gvl/gvl-vendor-relationship-normalizer.js |
Core-Kandidat |
| 7 | src/background/gvl/gvl-catalog-normalizer.js |
Core-Kandidat |
| 8 | src/background/db/db-retention.js |
Core-Kandidat |
| 9 | src/background/db/db-record-locks.js |
Core-Kandidat |
| 10 | src/background/utils.js |
Core-Kandidat |
| 11 | src/background/settings.js |
Core-Kandidat |
| 12 | src/background/maintenance-guard.js |
Core-Kandidat |
| 13 | src/background/consent-memory.js |
Fachmodul |
| 14 | src/background/request-fingerprint.js |
Fachmodul |
| 15 | src/background/request-observer.js |
Fachmodul |
| 16 | src/background/gvl-service.js |
Fachmodul |
| 17 | src/background.js |
Fachmodul |
Globale Abhängigkeiten
globalThis.VGCoreModuleRegistry: wird insrc/core/module-registry.jsgesetzt und insrc/modules/vg-observe/module.jszur Registrierung vonVGObserveModuleverwendet.globalThis.VGObserveModule: wird insrc/modules/vg-observe/module.jsgesetzt.globalThis.VendorGetGvlService: wird insrc/background/gvl-service.jsgesetzt und insrc/background.jsfüringestGvlSnapshotverwendet.globalThis.normalizeGvlVendorsFromSnapshotundglobalThis.normalizeLatestGvlSnapshotVendors: werden insrc/background/gvl/gvl-vendor-normalizer.jsgesetzt.globalThis.normalizeGvlVendorRelationshipsFromSnapshotundglobalThis.normalizeLatestGvlVendorRelationships: werden insrc/background/gvl/gvl-vendor-relationship-normalizer.jsgesetzt.globalThis.normalizeGvlCatalogsFromSnapshotundglobalThis.normalizeLatestGvlCatalogs: werden insrc/background/gvl/gvl-catalog-normalizer.jsgesetzt.browser.runtime.onMessageundbrowser.webRequest.onBeforeRequest: werden insrc/background.jsregistriert.browser.storage.local.getundbrowser.storage.local.set: werden insrc/background/settings.jsverwendet.indexedDB.openundindexedDB.deleteDatabase: werden insrc/background/db/db-core.jsverwendet.crypto.subtle.digestundTextEncoder: werden insrc/background/utils.jsundsrc/background/gvl-service.jsverwendet.fetch: wird insrc/background.jsfür den offiziellen IAB-GVL-Abruf verwendet.URL: wird insrc/background/request-fingerprint.jsundsrc/background/request-observer.jszur Request-Auswertung verwendet.atob: wird insrc/background.jsbeim Decoding von TC-String-Core-Metadaten verwendet.
Weitere implizite globale Funktionsabhängigkeiten entstehen durch nicht-modulare Script-Ladung:
src/background/db/db-core.jserwartetVENDORGET_DB_NAMEundVENDORGET_DB_VERSIONaussrc/background/db/db-constants.js.src/background/db/db-retention.jsundsrc/background/db/db-record-locks.jserwartenVENDORGET_EVIDENCE_STORE_NAMESaussrc/background/db/db-constants.js.src/background/request-fingerprint.jserwartetsha256HexundstableStringifyaussrc/background/utils.js.src/background/request-observer.jserwartetisRequestMonitoringEnabled,isEvidenceWriteSuspended,buildObservedRequestFingerprint,buildObservedRequestFingerprintSource,getLatestConsentStateForRequestundpersistObservedRequest.src/background.jserwartet unter anderemhandleObservedRequest,isConsentCaptureEnabled,rememberLatestTcfPing,getLatestTcfPing,sha256Hex,stableStringify,rememberLatestConsentState,openVendorGetDb, Retention-/Lock-Funktionen undVendorGetGvlService.
Core-relevante Risiken
- Ladeordnungsrisiko:
src/modules/vg-observe/module.jsregistriert sich nur, wennglobalThis.VGCoreModuleRegistrybereits existiert. Die aktuelle Reihenfolge erfüllt das, ist aber empfindlich gegen Manifest-Änderungen. - Implizite globale Abhängigkeiten: Viele Background-Scripts exportieren keine Module, sondern stellen Funktionen durch gemeinsame Script-Ausführung bereit. Verschiebungen können dadurch Laufzeitfehler erzeugen, ohne dass Imports brechen.
- DB-Konstanten / DB-Version:
src/background/db/db-constants.jsdefiniertVENDORGET_DB_VERSION = 5und die Store-Namen.src/background/db/db-core.jsnutzt diese Werte direkt fürindexedDB.openund Store-Anlage. - Kopplung zwischen Core-Kandidaten und VG-Observe: DB-, Retention-, Record-Lock-, Settings- und GVL-Normalizer-Dateien wirken infrastrukturell, enthalten aber Namen, Stores oder Datenflüsse aus Consent, Request, Evidence und GVL-Snapshot-Logik.
- GVL-Kopplung: Normalizer können später Teil einer gemeinsamen Wissensbasis sein, sind aktuell aber an Snapshot-Stores und Background-DB-Zugriffe gekoppelt.
Nicht ändern
- keine Script-Reihenfolge ändern
- keine
manifest.jsonändern - keine DB-Version ändern
- keine Dateien verschieben
Nächster risikoarmer Schritt
Als nächsten kleinen Schritt eine reine Dokumentations-Tabelle ergänzen, die je Background-Script die erwarteten vorausgehenden globalen Funktionen und die bereitgestellten globalen Funktionen beschreibt. Kein Refactor, keine Migration, keine Umbenennung.