github / github/markdown-toolbar-element

Element should not auto-register itself unless a browser context is found

Offen
#68 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
JavaScript
Sterne
411
Forks
60
Ø Merge
2 T. 22 Std.
Gemergte PRs (30 T.)
6

Beschreibung

Per discussion in https://github.com/primer/react/pull/2339, the fact that this element automatically registers itself at the top level makes it incompatible with server-side rendering, where JavaScript might be run outside of a browser context.

> From an SSR perspective, adding a simple `typeof window !== 'undefined'` guard should be sufficient. However, that won't solve the fact that the markdown-toolbar-element currently executes with side-effects, and thus cannot be tree-shaken. This means bundles in dotcom that do not need toolbar element will carry it as extra weight that is not needed. We would need to add a `register()` function to allow tree shaking, which would be a breaking change on the web component package.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem Lesen der Diskussion in pull request 2339 und des in diesem Issue beschriebenen Registrierungsverhaltens. Lege fest, ob die Änderung nur den Browserzugriff absichern oder auch eine explizite register()-API einführen sollte; die fertige Änderung sollte serverseitiges Rendering berücksichtigen und unnötige Nebeneffekte von Toolbar-Elementen vermeiden, ohne das Verhalten des Pakets ungeklärt zu lassen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
frontend, web-dev
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
28/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.