github / github/markdown-toolbar-element
Element should not auto-register itself unless a browser context is found
- Dominant language
- JavaScript
- Stars
- 411
- Forks
- 60
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 6
Description
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.
Contributor guide
Assessment
This issue has not been assessed yet.