github / github/markdown-toolbar-element
Element should not auto-register itself unless a browser context is found
- 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
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