Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Docusaurus v2.4.1 #3778

Merged
merged 1 commit into from
Jul 13, 2023
Merged

Conversation

slorber
Copy link
Contributor

@slorber slorber commented Jun 29, 2023

Hey, Docusaurus maintainer here 👋


Docusaurus v3 soon?

I'll soon attempt an upgrade of this site to Docusaurus v3.

As a first step, I'd like to upgrade the site to the latest stable v2 version, so that the other PR can focus only on the v2 => v3 breaking changes.


Convenient scripts

I'm also adding some convenient package scripts that you'll eventually find useful to run from the repo root.

If you don't want that, I can remove them but would appreciate to at least keep the ability to run yarn docusaurus xyz from the repo root.

For example, this is a good way to test a production build of the website locally, using a limited number of versions like on Netlify previews (builds much faster):

yarn website:build:fast
yarn website:serve

Argos CI - visual regression diffing

I'm also using this PR to introduce you to a tool called Argos CI that I have used successfully on the Docusaurus repository to prevent visual regressions during package upgrades. I'll edit this PR once the setup is ready to be demonstrated.

Sometimes when upgrading Docusaurus from one version to another, some UI elements and custom CSS breaks, and we notice it after merge. A tool like Argos can compare visually the main site to the deployment preview, and tell you how they differ.

My setup on Docusaurus involves taking screenshots of all the URLs found in sitemap.xml. Here's the kind of link each new docs PR could generate: https://app.argos-ci.com/meta-open-source/docusaurus/builds/134/50874925

(new tool, their UI is kind of rough but it's working nicely)

Edit: visual test results

For the demo, I ran the visual tests in a hacky non-std way for now, using a separate repo and this PR: slorber/rnw-visual-tests#1

Results: https://app.argos-ci.com/slorber/rnw-visual-tests/builds/7/51006267

305 URLs screenshotted (I did not include all docs version, to expensive) => Argos reported 6 UI differences, and those differences are all false positives due to flakiness / animations.

CleanShot 2023-06-30 at 10 45 00@2x

CleanShot 2023-06-30 at 10 45 23@2x

CleanShot 2023-06-30 at 10 45 49@2x

It also reported the showcase page that apparently shows apps in a random order on purpose:

CleanShot 2023-06-30 at 10 47 29@2x

I'll update the Argos setup so that these false positives are not reported anymore, and eventually, you can install this officially if you find it useful. For me it will be useful notably for the v3 upgrade where unexpected UI changes could be reported, so even if you don't want to adopt Argos I'll continue to run it myself on my separate hacky repo.


Fixing build non-blocking errors

Note, due to a commit from yesterday (#3776), your site builds with errors because it uses both Docusaurus 2.4.1 and 2.3.1 package, while official package versions are supposed to be aligned. This little upgrade also fixes the issue ;)

CF the Netlify build: https://app.netlify.com/sites/react-native/deploys/649c06ab24479c000817b0e2

CleanShot 2023-06-29 at 17 21 30@2x

@netlify
Copy link

netlify bot commented Jun 29, 2023

Deploy Preview for react-native ready!

Name Link
🔨 Latest commit 8d71bdc
🔍 Latest deploy log https://app.netlify.com/sites/react-native/deploys/649da6f497df8100081c113a
😎 Deploy Preview https://deploy-preview-3778--react-native.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@slorber slorber marked this pull request as ready for review June 30, 2023 08:42
@slorber
Copy link
Contributor Author

slorber commented Jun 30, 2023

@Simek PR is ready to review, the UI tests look good to me.

I didn't really expect any UI change for this small upgrade, so it was more of an opportunity to show how Argos can be useful.

Copy link
Collaborator

@Simek Simek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @slorber for performing the update! 🙏

Tested the branch locally, no regressions spotted, LGTM! 👍

@slorber
Copy link
Contributor Author

slorber commented Jul 13, 2023

Hi

Do you want me to do anything else before merging this PR? It looks good to me.

@Simek
Copy link
Collaborator

Simek commented Jul 13, 2023

Nope, we can ship it, thanks for the ping. 🙂

@Simek Simek merged commit 30afc75 into facebook:main Jul 13, 2023
sunnylqm added a commit to reactnativecn/react-native-website that referenced this pull request Aug 5, 2023
* Update Debugging docs to no longer recommend Remote debugging (facebook#3702)

Co-authored-by: Alex Hunt <hello@alexhunt.io>

* Bump fast-xml-parser from 4.2.4 to 4.2.5 (facebook#3777)

Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.2.4 to 4.2.5.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](NaturalIntelligence/fast-xml-parser@v4.2.4...v4.2.5)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Upgrade got dependency (facebook#3776)

* feature: Move to GA4 (UA being reprecated in June)

Google Analytics is deprecating the older clients. This is the first
step to enable to newer client. This should be followed with a step to
remove the old client once we know data is flowing.

* Upgrade got dependency

Resolves dependabot alerts #26

* Use `https` links over `http` (facebook#3761)

* [docs] Update/simplify info around Metro for env setup (facebook#3673)

* [docs] Add Metro guide, update Metro config references (facebook#3772)

* [docs] Remove static config note in Metro guide, adjust formatting (facebook#3782)

* Improving Grammar and Clarity.md (facebook#3783)

Improving Grammar and Clarity in React Native's Performance Description

* Fix docs for onResponderGrant (facebook#3785)

* react-native-gradle-plugin renamed to @react-native/gradle-plugin (facebook#3786)

* Update _integration-with-existing-apps-kotlin.md

* Update _integration-with-existing-apps-kotlin.md

* Update _integration-with-existing-apps-java.md

* Update _integration-with-existing-apps-java.md

* Update _integration-with-existing-apps-kotlin.md

* Update how-to-build-from-source for 0.72+ (facebook#3659)

* Clarify documentation for turbomodules (facebook#3787)

* Clarify documentation for turbomodules

`codegenConfig` is stated in text that it's an array, but in code example it's an object.

Either the text or the code example should change.

* Fix linting issue

* Update the PR to reflect knowledge that the code sample is correct but documentation wrong

* Update FlatList Optimization Guide for FCs (facebook#3700)

* Update FlatList Optimization Guide for FCs

* fix lint

* Update docs/optimizing-flatlist-configuration.md

---------

Co-authored-by: Егорик <86266852+Huinko@users.noreply.github.com>
Co-authored-by: Nick Gerleman <nick@nickgerleman.com>

* [docs] Add guidance on repo build scripts (facebook#3788)

* [docs] add Chain React 2023 playlist link on staying-updated (facebook#3790)

* Bump semver from 5.7.1 to 5.7.2 (facebook#3791)

Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](npm/node-semver@v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Docusaurus v2.4.1 (facebook#3778)

* Bump word-wrap from 1.2.3 to 1.2.4 (facebook#3794)

Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](jonschlinkert/word-wrap@1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: iOS backwards compatibility update (facebook#3775)

* Update backward-compatibility-fabric-components.md

Ensure backwards-compat docs refer to all necessary code changes.

reactwg/react-native-new-architecture#8 (comment)

* Update docs/the-new-architecture/backward-compatibility-fabric-components.md

Co-authored-by: Riccardo Cipolleschi <riccardo.cipolleschi@gmail.com>

* trim whitespace and fix typo

---------

Co-authored-by: Riccardo Cipolleschi <riccardo.cipolleschi@gmail.com>

* [website] swizzle DocVersionBanner, tweak wording (facebook#3800)

* tweak: improve wordiness on docs about bumping monorepo packages (facebook#3805)

* Fix typo in architecture-glossary.md (facebook#3806)

* docs: change js to tsx (facebook#3808)

* Update website to use JDK 17 (facebook#3812)

LGTM.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Gabriel Donadel Dall'Agnol <donadeldev@gmail.com>
Co-authored-by: Alex Hunt <hello@alexhunt.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Blake Friedman <blakef@meta.com>
Co-authored-by: Pranav Yadav <Pranavyadav3912@gmail.com>
Co-authored-by: Waseem Kurne <55435990+waseemk7@users.noreply.github.com>
Co-authored-by: Pieter De Baets <pieterdb@meta.com>
Co-authored-by: Nicola Corti <corti.nico@gmail.com>
Co-authored-by: Stefan Wallin <github@stefan-wallin.se>
Co-authored-by: Егорик <86266852+Azelisi@users.noreply.github.com>
Co-authored-by: Егорик <86266852+Huinko@users.noreply.github.com>
Co-authored-by: Nick Gerleman <nick@nickgerleman.com>
Co-authored-by: David Leuliette <dleuliette@gmail.com>
Co-authored-by: Sébastien Lorber <slorber@users.noreply.github.com>
Co-authored-by: Connor Mullins <connorpmullins@gmail.com>
Co-authored-by: Riccardo Cipolleschi <riccardo.cipolleschi@gmail.com>
Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>
Co-authored-by: Lorenzo Sciandra <lsciandra@microsoft.com>
Co-authored-by: Stanley Ugwu <stanleyugwu2018@gmail.com>
Co-authored-by: kong <duguyihou@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants