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 Docusaurus - Enable Docusaurus Faster on website #468

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

slorber
Copy link

@slorber slorber commented Oct 25, 2024

Docusaurus maintainer here 👋

This is a POC to ensure this plugin is compatible with Docusaurus Faster

I'm not sure how your setup works exactly, not super familiar with Yarn PnP but got some annoying errors due to it 😅

I'm able to build with Webpack, but Rspack fails with this error I can't solve when PnP is enabled:

[ERROR] Client bundle compiled with errors therefore further build is impossible.
× Module not found: Can't resolve '/Users/sebastienlorber/Desktop/projects/docusaurus-search-local-easyops-cn/.yarn/virtual/@docusaurus-core-virtual-aaf120fccf/0/cache/@docusaurus-core-npm-3.5.2-canary-6122-e777a73518-b778e9de54.zip/node_modules/@docusaurus/core/lib/client/clientEntry.js' in '/Users/sebastienlorber/Desktop/projects/docusaurus-search-local-easyops-cn/website'

And idea?

Benchmark

Using node modules linker

Cold builds - much faster

hyperfine --prepare 'yarn workspace website clear' --runs 3 'DOCUSAURUS_FASTER=false yarn build:website' 'DOCUSAURUS_FASTER=true yarn build:website'


Benchmark 1: DOCUSAURUS_FASTER=false yarn build:website
  Time (mean ± σ):     11.864 s ±  0.251 s    [User: 19.999 s, System: 5.471 s]
  Range (min … max):   11.609 s … 12.110 s    3 runs

Benchmark 2: DOCUSAURUS_FASTER=true yarn build:website
  Time (mean ± σ):      3.139 s ±  0.050 s    [User: 4.666 s, System: 0.862 s]
  Range (min … max):    3.106 s …  3.196 s    3 runs

Summary
  DOCUSAURUS_FASTER=true yarn build:website ran
    3.78 ± 0.10 times faster than DOCUSAURUS_FASTER=false yarn build:website

Warm builds - same:

DOCUSAURUS_FASTER=false yarn build:website
hyperfine --runs 3 'DOCUSAURUS_FASTER=false yarn build:website' 'DOCUSAURUS_FASTER=true yarn build:website'


Benchmark 1: DOCUSAURUS_FASTER=false yarn build:website
  Time (mean ± σ):      3.031 s ±  0.066 s    [User: 3.602 s, System: 0.539 s]
  Range (min … max):    2.990 s …  3.107 s    3 runs

  Warning: The first benchmarking run for this command was significantly slower than the rest (3.107 s). This could be caused by (filesystem) caches that were not filled until after the first run. You should consider using the '--warmup' option to fill those caches before the actual benchmark. Alternatively, use the '--prepare' option to clear the caches before each timing run.

Benchmark 2: DOCUSAURUS_FASTER=true yarn build:website
  Time (mean ± σ):      3.120 s ±  0.084 s    [User: 4.671 s, System: 0.859 s]
  Range (min … max):    3.065 s …  3.217 s    3 runs

Summary
  DOCUSAURUS_FASTER=false yarn build:website ran
    1.03 ± 0.04 times faster than DOCUSAURUS_FASTER=true yarn build:website

Summary by CodeRabbit

  • New Features

    • Introduced a new script to clear Docusaurus cache.
    • Added experimental build optimization features.
  • Updates

    • Updated Docusaurus packages to version 3.6.0 for improved performance and features.
    • Added support for a new dependency, @docusaurus/faster.
  • Configuration Changes

    • Updated .gitignore to exclude .idea directory.
    • Modified Yarn configuration to specify package linking method and added package extensions.
    • Introduced new configuration options for experimental build optimizations in Docusaurus configuration files.

@slorber slorber marked this pull request as draft October 25, 2024 14:15
Copy link

coderabbitai bot commented Oct 25, 2024

Walkthrough

This pull request includes updates to several configuration files in the project. The .gitignore file now excludes the .idea directory. The .yarnrc.yml file has been modified to include a new property for package linking and an extension for specific Docusaurus packages. The package.json files for both the main project and the website have updated Docusaurus package versions from 3.0.0 to 3.6.0, with additional scripts and dependencies added in the website's configuration. New experimental features are introduced in the Docusaurus configuration for both the main project and the multi-docs setup.

Changes

File Change Summary
.gitignore - Added entry for .idea to be ignored by Git.
.yarnrc.yml - Added property nodeLinker: node-modules.
- Introduced section packageExtensions for @docusaurus/bundler, @docusaurus/theme-common, terser-webpack-plugin, and css-minimizer-webpack-plugin with respective dependencies.
package.json - Updated resolutions for several Docusaurus packages from 3.0.0 to 3.6.0:
@docusaurus/core, @docusaurus/module-type-aliases, @docusaurus/preset-classic, @docusaurus/theme-classic, @docusaurus/theme-common, @docusaurus/plugin-content-docs.
website/docusaurus.config.js - Added configuration option: future: { experimental_faster: { swcJsLoader: true, swcJsMinimizer: true, swcHtmlMinimizer: true, lightningCssMinimizer: true, rspackBundler: false, mdxCrossCompilerCache: true } }.
website/package.json - Added script "clear": "docusaurus clear".
- Updated dependency versions for @docusaurus/core, @docusaurus/preset-classic, @docusaurus/theme-classic, and @docusaurus/theme-common from ^3.0.0 to 3.6.0.
- Added new dependency @docusaurus/faster with version 3.6.0.
website-multi-docs/docusaurus.config.js - Added configuration section: future: { experimental_faster: { swcJsLoader: true, swcJsMinimizer: true, swcHtmlMinimizer: true, lightningCssMinimizer: true, rspackBundler: false, mdxCrossCompilerCache: true } }.
website-multi-docs/package.json - Updated dependency versions for @docusaurus/core, @docusaurus/plugin-content-docs, @docusaurus/preset-classic, @docusaurus/theme-classic, @docusaurus/theme-common from ^3.0.0 to 3.6.0.
- Added new dependency @docusaurus/faster with version 3.6.0.
website/babel.config.js - Removed Babel configuration file.
website-multi-docs/babel.config.js - Removed Babel configuration file.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

netlify bot commented Oct 25, 2024

Deploy Preview for easyops-cn-docusaurus-search-local failed.

Name Link
🔨 Latest commit ac4af80
🔍 Latest deploy log https://app.netlify.com/sites/easyops-cn-docusaurus-search-local/deploys/6728d06a98ae3b00084c4d09

@weareoutman
Copy link
Member

👍 Great work!

I got no idea why it doesn't work with yarn PnP, either. Though using node modules linker works, right? Maybe related to dependencies with canary versions.

@slorber
Copy link
Author

slorber commented Oct 28, 2024

I'll try again once v3.6 is out and we'll see

For now it's already nice to have a POC proving that this plugin works with the new bundler :)

@slorber slorber marked this pull request as ready for review November 4, 2024 13:25
@slorber
Copy link
Author

slorber commented Nov 4, 2024

Docusaurus v3.6 is out: https://docusaurus.io/blog/releases/3.6

PR ready to review (but still fighting with PnP issues)

Unfortunately, the Yarn PnP error remains, and it only builds with node linker. Maybe @arcanis any idea what could cause this error?

[ERROR] Client bundle compiled with errors therefore further build is impossible.
× Module not found: Can't resolve '/Users/sebastienlorber/Desktop/projects/docusaurus-search-local-easyops-cn/.yarn/__virtual__/@docusaurus-core-virtual-22c3351990/0/cache/@docusaurus-core-npm-3.6.0-794aa300d6-d024957005.zip/node_modules/@docusaurus/core/lib/client/clientEntry.js' in '/Users/sebastienlorber/Desktop/projects/docusaurus-search-local-easyops-cn/website'

Edit, it seems using rspackBundler: false fix that error, and there's a related Rspack issue: web-infra-dev/rspack#2236

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (3)
.yarnrc.yml (2)

8-9: LGTM! Consider adding a comment about this being temporary.

Setting nodeLinker: node-modules is a good temporary solution to bypass the Yarn PnP issues mentioned in the PR.

Consider adding a comment above this line to document that this is a temporary workaround:

+# Temporary: Using node-modules instead of PnP due to Rspack compatibility issues
nodeLinker: node-modules

11-14: Consider using a more specific version constraint.

Using "*" as the version constraint for @docusaurus/faster might lead to unexpected behavior if incompatible versions are released.

Consider using a more specific version range that matches your Docusaurus version:

  "@docusaurus/bundler@*":
    dependencies:
-      "@docusaurus/faster": "*"
+      "@docusaurus/faster": "^3.6.0"
website/package.json (1)

15-19: Consider using caret ranges for version specifications

Using exact versions (3.6.0) instead of caret ranges (^3.6.0) might make future minor updates more difficult to manage. Consider using caret ranges unless there's a specific reason for exact versions.

-    "@docusaurus/core": "3.6.0",
-    "@docusaurus/faster": "3.6.0",
-    "@docusaurus/preset-classic": "3.6.0",
-    "@docusaurus/theme-classic": "3.6.0",
-    "@docusaurus/theme-common": "3.6.0",
+    "@docusaurus/core": "^3.6.0",
+    "@docusaurus/faster": "^3.6.0",
+    "@docusaurus/preset-classic": "^3.6.0",
+    "@docusaurus/theme-classic": "^3.6.0",
+    "@docusaurus/theme-common": "^3.6.0",
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 3f28255 and 12e6285.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (5)
  • .gitignore (1 hunks)
  • .yarnrc.yml (1 hunks)
  • package.json (1 hunks)
  • website/docusaurus.config.js (1 hunks)
  • website/package.json (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • .gitignore
🔇 Additional comments (3)
website/package.json (1)

9-9: LGTM: Added useful cache clearing script

The addition of the "clear" script is beneficial for testing and benchmarking the new Docusaurus Faster bundler.

package.json (2)

50-55: LGTM! Consistent version updates across all Docusaurus packages.

Good practice maintaining version consistency by updating all Docusaurus packages to exactly 3.6.0 in resolutions.


50-55: Monitor PnP compatibility with Docusaurus 3.6.0.

Since you're experiencing Yarn PnP issues, consider:

  1. Testing the build with nodeLinker: node-modules temporarily
  2. Tracking the issue in Docusaurus repository

Let's verify if there are any known PnP issues:

Comment on lines +15 to +19
"@docusaurus/core": "3.6.0",
"@docusaurus/faster": "3.6.0",
"@docusaurus/preset-classic": "3.6.0",
"@docusaurus/theme-classic": "3.6.0",
"@docusaurus/theme-common": "3.6.0",
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Inconsistent Docusaurus dependency versions detected across packages

The verification reveals version inconsistencies across different packages in the repository:

  • website/package.json: Fixed version 3.6.0
  • website-multi-docs/package.json: Caret range ^3.0.0
  • docusaurus-search-local/package.json: Wide range ^2 || ^3

These inconsistencies could lead to compatibility issues. Consider:

  • Aligning versions in website-multi-docs to use the same fixed version 3.6.0
  • Updating docusaurus-search-local to specifically target version 3
🔗 Analysis chain

Verify dependency version consistency

Let's verify that all Docusaurus-related dependencies are consistently updated across the project to avoid version conflicts.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for inconsistent @docusaurus/* package versions across package.json files

# Find all package.json files
echo "Searching for @docusaurus/* dependencies in all package.json files:"
fd package.json --type f --exec sh -c '
    echo "\nChecking {}"
    cat {} | jq -r "
        if has(\"dependencies\") then
            .dependencies | to_entries[] | 
            select(.key | startswith(\"@docusaurus/\")) | 
            \"\(.key): \(.value)\"
        else
            empty
        end
    "
'

Length of output: 1111

Comment on lines 4 to 6
future: {
experimental_faster: true,
},
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Add documentation for experimental feature and its implications

The experimental feature is correctly configured and the required dependencies (@docusaurus/core and @docusaurus/faster v3.6.0) are properly installed. However, since there's no existing documentation about this experimental feature in the codebase, it's important to document its usage and implications.

 const buildType = process.env.BUILD_TYPE;
 
 module.exports = {
+  // Enable Docusaurus Faster (using @docusaurus/faster v3.6.0)
+  // This experimental feature uses Rspack instead of Webpack for improved build performance
+  // Note: If you experience issues with Yarn PnP, you may need to disable this feature
   future: {
     experimental_faster: true,
   },
🔗 Analysis chain

Document experimental feature and known limitations.

The experimental feature is correctly configured under the future namespace. However, given its experimental status and known limitations with Yarn PnP, consider adding comments to document:

  • The significant performance improvements for cold builds
  • Current limitations with Yarn PnP
  • Minimum required Docusaurus version (3.6.0)

Add documentation comments above the configuration:

 const buildType = process.env.BUILD_TYPE;
 
 module.exports = {
+  // Enable Docusaurus Faster for improved build performance
+  // Note: Requires Docusaurus >= 3.6.0
+  // - Cold builds: ~3.1s (vs ~11.8s without)
+  // - Known issue: Build fails with Yarn PnP enabled
   future: {
     experimental_faster: true,
   },

Let's verify if this experimental feature is documented in Docusaurus:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for documentation about the experimental_faster feature
rg -i "experimental[_\s]faster|docusaurus faster" README.md docs/

Length of output: 113


Script:

#!/bin/bash
# Let's first check if we're in the correct directory structure
fd -t d "website"

# Then search for any documentation about the experimental feature
cd website && rg -i "experimental[_\s]faster|docusaurus faster" .

# Also check package.json for Docusaurus version
cat website/package.json | jq '.dependencies["@docusaurus/core"], .dependencies["@docusaurus/faster"]'

Length of output: 325


Script:

#!/bin/bash
# Let's check package.json in the correct location
cat package.json | jq '.dependencies'

# Also search for any related documentation in the website directory
rg -i "performance|build.*speed|faster" . -g "!node_modules" -g "!build" -A 2 -B 2

Length of output: 6305

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 12e6285 and ac4af80.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (6)
  • .yarnrc.yml (1 hunks)
  • website-multi-docs/babel.config.js (0 hunks)
  • website-multi-docs/docusaurus.config.js (1 hunks)
  • website-multi-docs/package.json (2 hunks)
  • website/babel.config.js (0 hunks)
  • website/docusaurus.config.js (1 hunks)
💤 Files with no reviewable changes (2)
  • website-multi-docs/babel.config.js
  • website/babel.config.js
🚧 Files skipped from review as they are similar to previous changes (2)
  • .yarnrc.yml
  • website/docusaurus.config.js
🔇 Additional comments (3)
website-multi-docs/package.json (1)

18-18: Addition of @docusaurus/faster package noted with PnP compatibility caveat.

The addition of @docusaurus/faster aligns with the PR's objective to enable Docusaurus Faster bundler. However, be aware of the known Yarn PnP compatibility issues mentioned in the PR description.

Let's check for any PnP-related configurations that might affect this package:

#!/bin/bash
# Description: Check for PnP-related configurations
# Expected: Identify any PnP settings that might affect @docusaurus/faster

echo "Checking for PnP-related configurations..."
fd "\.yarnrc\.yml$|\.pnp\..*\.js$" --type f
website-multi-docs/docusaurus.config.js (2)

9-18: Verify compatibility with search plugin and multi-docs setup.

The experimental faster configuration is being used alongside the local search plugin and multiple docs plugins. While the optimization choices look good, we should verify compatibility:

  1. Search Plugin Integration:

    • Ensure search indexing works correctly with faster builds
    • Verify search context paths are properly processed
  2. Multi-docs Performance:

    • Monitor build times for both product and community docs
    • Verify that caching benefits apply across all doc types

Let's check for any known compatibility issues:

#!/bin/bash
# Description: Check for compatibility issues between search plugin and faster builds

# Search for any reported issues with @easyops-cn/docusaurus-search-local and faster builds
rg -i "docusaurus.*faster.*search|search.*faster" .github/
rg -i "docusaurus.*faster.*search|search.*faster" docs/

# Check if search plugin is used in other Docusaurus faster implementations
rg -i "@easyops-cn/docusaurus-search-local.*experimental_faster" 

Consider implementing gradual rollout:

  1. Test search functionality thoroughly in a staging environment
  2. Monitor search indexing performance with the new build system
  3. Consider adding build-time checks for search index generation

Also applies to: 134-162


9-18: Verify experimental configuration alignment with requirements.

The experimental faster configuration looks well-structured, with appropriate optimization choices:

  • SWC-based optimizations for JS and HTML are enabled
  • Lightning CSS minimizer is enabled for CSS optimization
  • MDX cross-compiler cache is enabled for better build performance
  • Rspack bundler is correctly disabled due to known PnP compatibility issues

Let's verify the Docusaurus version compatibility:

Consider the following recommendations:

  1. Monitor build performance metrics to validate the optimization benefits
  2. Keep track of the Rspack bundler compatibility status for future enablement
  3. Consider adding error monitoring for experimental features in production
✅ Verification successful

Experimental faster configuration is correctly implemented and compatible

The verification confirms that:

  1. Docusaurus v3.6.0 is being used, which fully supports the experimental faster features
  2. @docusaurus/faster package is correctly installed as a dependency
  3. The configuration is properly implemented alongside the local search plugin (@easyops-cn/docusaurus-search-local)
  4. All optimization flags are appropriately set, with rspack bundler disabled as intended

The experimental configuration is well-aligned with the project requirements and should provide the expected build performance improvements while maintaining compatibility with the search functionality.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify Docusaurus version and dependencies
# Expected: Version 3.6.0 or higher

# Check package.json for @docusaurus/core version
cat package.json | jq -r '.dependencies["@docusaurus/core"] // .devDependencies["@docusaurus/core"]'

# Check if @docusaurus/faster is installed
cat package.json | jq -r '.dependencies["@docusaurus/faster"] // .devDependencies["@docusaurus/faster"]'

Length of output: 231


Script:

#!/bin/bash
# Let's try a different approach to verify the package.json content
fd package.json --type f --exec cat {} \; | grep -A 10 -B 10 "@docusaurus"

# Also check for any docusaurus config files to understand the setup better
fd docusaurus.config.js --type f --exec cat {} \;

# Check if there are any yarn/npm lock files to verify dependencies
fd "yarn.lock|package-lock.json" --type f --max-depth 2 --exec head -n 50 {} \;

Length of output: 14717

"@docusaurus/preset-classic": "^3.0.0",
"@docusaurus/theme-classic": "^3.0.0",
"@docusaurus/theme-common": "^3.0.0",
"@docusaurus/core": "3.6.0",
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Version consistency verified across website and website-multi-docs, but other packages need attention

The verification revealed mixed versioning patterns across the repository:

  • website and website-multi-docs correctly use exact version 3.6.0 for all Docusaurus packages
  • docusaurus-search-local package uses different version patterns:
    • Uses ^2 || ^3 for some packages
    • Uses ^3.0.0 for others
    • Uses exact version 3.0.0 for @docusaurus/tsconfig

This inconsistency in versioning patterns across the repository could lead to compatibility issues. Consider aligning all Docusaurus package versions to 3.6.0 across the entire repository for better consistency.

🔗 Analysis chain

LGTM! Consistent version updates across Docusaurus packages.

The alignment of all Docusaurus packages to exact version 3.6.0 (removing caret versioning) ensures build consistency, which is crucial for testing the new bundler.

Let's verify version consistency across all Docusaurus packages in the repository:

Also applies to: 19-22, 31-31

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any mismatched Docusaurus package versions
# Expected: All Docusaurus packages should be at version 3.6.0

echo "Checking Docusaurus package versions across all package.json files..."
fd package.json --type f --exec jq -r '.dependencies + .devDependencies | with_entries(select(.key | startswith("@docusaurus"))) | to_entries[] | "\(.key): \(.value)"'

Length of output: 367


Script:

#!/bin/bash
# Let's try a different approach to check package versions
# First, let's confirm the existence of package.json files
fd package.json --type f

# Then let's examine their content specifically for Docusaurus packages
echo "=== Checking Docusaurus package versions ==="
fd package.json --type f --exec cat {} \; | grep "@docusaurus.*\":" -A 1

# Additionally, let's check if there are any workspace configurations
echo "=== Checking for workspace configurations ==="
fd "package.json|yarn.lock|pnpm-workspace.yaml|lerna.json" --type f --max-depth 1

Length of output: 1977

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants