docusaurus icon indicating copy to clipboard operation
docusaurus copied to clipboard

List of forked and to-be-forked dependencies

Open Josh-Cena opened this issue 3 years ago • 10 comments

Docusaurus forked the following dependencies to add our own functionality:

  • react-loadable-ssr-addon => react-loadable-ssr-addon-v5-slorber
    • No idea what the fork changed. The git history shows we are just behind the master branch with no unique contribution.
    • Our last version: 03/20/2021, v1.0.1
    • Their last version: 10/02/2021, v1.0.2
    • Forked from v1.0.1
  • clean-webpack-plugin => our internal CleanWebpackPlugin
    • Reduce memory consumption (https://github.com/facebook/docusaurus/pull/1839); later added support for Webpack 5. Not sure about upstream status
    • Our last version: last substantial change on 05/01/2021
    • Their last version: 09/01/2021, v4.0.0
    • Forked from v2.0.2
  • [Dead upstream] static-site-generator-webpack-plugin => @slorber/static-site-generator-webpack-plugin
    • First fork to improve memory consumption; second fork to add support for trailing slashes
    • Our last version: 06/08/2021, v4.0.1
    • Their last version: 11/20/2018, v3.4.2
    • Forked from v3.4.2
  • [Dead upstream] react-loadable => @docusaurus/react-loadable
    • Removed warning for componentWillMount; later included own typedefs
    • Our last version: 10/29/2021, v5.5.2
    • Their last version: 08/09/2018, v5.5.0
    • Forked from v5.5.0
    • See also https://github.com/facebook/docusaurus/issues/3841
  • [Dead upstream] react-ideal-image => @endiliey/react-ideal-image
    • Use waypoint v9, bump deps
    • Our last version: 11/24/2019, v0.0.11
    • Their last version: 06/12/2018, v0.0.5
    • Forked from v0.0.5
  • responsive-loader => @docusaurus/responsive-loader
    • First fork to disable emitting files on server-side; later added Webpack 5 support + WebP support. Not sure about upstream status
    • Our last version: 12/06/2021, v1.7.0
    • Their last version: 12/23/2020, v2.3.0
    • Forked from v1.2.0
  • lqip-loader => @docusaurus/lqip-loader (in our monorepo)
    • First fork to use sharp instead of jimp; later further refactored to use TS; later removed the palette option to avoid node-vibrant. Upstream still doesn't have support.
    • Our last version: last substantial change on 3/25/2022
    • Their last version: 09/12/2020, v2.2.1
    • Forked from v2.1.0

☝️All forks that I'm aware of. Below are some packages we should fork & maintain ourselves:

  • ~~react-live~~ Update: we are migrating away from this dependency to the more promising react-runner. See #6589
    • Last version: 08/06/2021, v2.4.0
    • No support for React 17, uses core-js v2 (https://github.com/FormidableLabs/react-live/issues/265)
  • ~~prism-react-renderer~~ I think we can first try to contribute to upstream
    • Last version: 05/22/2021, v1.2.1
    • The theming is hard to approach, default themes are not good enough, can't satisfy Prism language dependencies well (e.g. Markdown should be loaded after YAML), Prism not up-to-date
  • @endiliey/react-ideal-image
    • Already a fork, but we can't push further to this. Need to support WebP on SSR (currently hard coded as disabled)
  • npm-to-yarn
    • Last version: 05/04/2020, v1.0.1
    • Originally created for the use of Docusaurus, but the author @nebrelbug seems to be unavailable till very late this year. Doesn't support modern Yarn syntaxes & have some bugs
  • remark-admonitions
    • Last version: 03/26/2020, v1.2.1
    • Originally created for the use of Docusaurus, but currently dead. Can't translate keywords + strongly coupled to Infima. We plan to drop this in v3 and switch to remark-directives once we use MDX v2.

Josh-Cena avatar Jan 02 '22 06:01 Josh-Cena

Thanks for listing those! Hope we'll get the org soon

slorber avatar Jan 05 '22 13:01 slorber

@slorber Any idea why react-loadable-ssr-addon was forked? Did you just publish without committing to your fork? The version on NPM is still what was originally forked though

Josh-Cena avatar Jan 05 '22 15:01 Josh-Cena

I think it's using another branch (the one I used to open the pending PR, not main: https://github.com/themgoncalves/react-loadable-ssr-addon/pull/28#issuecomment-810369906)

https://github.com/slorber/react-loadable-ssr-addon/tree/slorber/fix-webpack5-warning

slorber avatar Jan 05 '22 15:01 slorber

For the upcoming GitHub organization, adding this starter that is used in a few places. We may have more starters/example repos later.

https://github.com/slorber/docusaurus-starter

slorber avatar Mar 04 '22 17:03 slorber

How current is this list? Can we switch back to upstream for any of these?

zpao avatar May 05 '22 21:05 zpao

hey all 👋🏻 i don't mean to pollute this thread, but just to mention that as the lead maintainer for both react-live and prism-react-renderer I'd love to collaborate on whatever changes would need to be made to keep docusaurus on the latest upstream versions of those libs 🙇🏻‍♂️

jpdriver avatar May 05 '22 22:05 jpdriver

How current is this list? Can we switch back to upstream for any of these?

@zpao react-live is being migrated away from in #6589, so it can probably not be forked. prism-react-renderer can probably stay for now. Everything else is still relevant. I've updated the list. We don't have any newly forked dependencies, since we are still waiting for the @docusaurus org.


@jpdriver Oh, great news! I'm not sure what the status of prism-react-renderer is, I honestly thought it's quasi-dead from the update frequency... I'm going to dump a few issues and possibly PRs in the next few days.

react-live seems to have a React version mismatch, iirc, which is why we are still pinning it to 2.2.3. Has it be fixed over time, or is it only fixable by migrating to v3? I think react-runner seems promising enough—it seems the major advantage of this package, apart from Sucrase (which you are already migrating to in v3), is SSR. Does react-live have plans to support SSR?

Josh-Cena avatar May 06 '22 00:05 Josh-Cena

@Josh-Cena happy to keep chatting here or move to some other venue if there's a more appropriate place!

yep prism-react-renderer hadn't been active for a while, but i'm hoping to change that. i'd be happy to review any issues and PRs you open.

For react-live, the version mismatch issue was resolved with v3. The project did previously support SSR, but unfortunately due to our current usage of Hooks we’ve lost that along the way.

if I’m missing something obvious and there is a way to re-introduce SSR support, i’d love to do that 😅


updated: react-live's SSR regression will be fixed in https://github.com/FormidableLabs/react-live/issues/321

jpdriver avatar May 06 '22 01:05 jpdriver