Skip to content

chore: modernize dependencies and migrate to typescript - #142

Merged
ECWireless merged 3 commits into
mainfrom
chore/modernize-typescript
Aug 2, 2026
Merged

ECWireless merged 3 commits into
mainfrom
chore/modernize-typescript

Conversation

@ECWireless

@ECWireless ECWireless commented Aug 2, 2026 •

Copy link
Copy Markdown
Member

This pull request modernizes and upgrades the RaidGuild Handbook repository by migrating it to Docusaurus 3, updating the codebase to TypeScript, switching to pnpm for dependency management, and refactoring configuration and scripts for improved maintainability and developer experience. It also updates documentation and dependency versions to ensure compatibility and clarity.

Migration to Docusaurus 3 and TypeScript:

  • Migrated the main configuration from docusaurus.config.js to a strongly-typed docusaurus.config.ts, updating settings to Docusaurus 3 conventions and improving type safety. [1] [2]
  • Renamed and refactored sidebars.js to sidebars.ts for TypeScript support and better type checking. [1] [2]
  • Refactored the homepage from src/pages/index.jsx to src/pages/index.tsx, adopting TypeScript and improving code clarity. [1] [2]

Tooling and Dependency Updates:

  • Replaced Yarn with pnpm, enforced Node.js 20+, and added a pnpm-workspace.yaml for workspace and dependency overrides. [1] [2]
  • Updated dependencies and devDependencies for Docusaurus 3, React 19, TypeScript 6, and modern ESLint/Prettier tooling. [1] [2]
  • Migrated ESLint configuration from .eslintrc.json to the new eslint.config.mjs flat config format, removing the old config. [1] [2]

Documentation and Developer Experience:

  • Updated README.md to reflect Docusaurus 3, TypeScript usage, pnpm commands, and new contribution/deployment instructions for clarity and accuracy. [1] [2] [3]
  • Improved and clarified links and terminology in documentation, such as updating the glossary path and fixing URLs. [1] [2]

These changes collectively modernize the project, improve type safety, streamline developer workflows, and ensure up-to-date documentation.

Summary by CodeRabbit

  • New Features

    • Added a refreshed Docusaurus homepage with a hero banner, “Get Started” link, and feature highlights.
    • Updated site navigation, branding, footer, documentation settings, and sidebar configuration.
  • Documentation

    • Updated setup, contribution, quality-check, deployment, and prerequisite instructions.
    • Corrected links and references in DAO operations documentation.
  • Maintenance

    • Modernized linting, formatting, type-checking, and validation workflows.
    • Added support for Node.js 20+ and pnpm.
    • Improved environment-file handling and build configuration.

Copilot AI review requested due to automatic review settings August 2, 2026 20:18
@vercel

vercel Bot commented Aug 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
handbook Ready Ready Preview Aug 2, 2026 8:37pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@ECWireless, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 41 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 58504368-d4a2-4300-8264-bf40aa9efc38

📥 Commits

Reviewing files that changed from the base of the PR and between ce65522 and e33794a.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • .gitignore
  • README.md
  • eslint.config.mjs
  • package.json
  • pnpm-workspace.yaml
📝 Walkthrough

Walkthrough

The project migrates Docusaurus configuration and homepage files from JavaScript to TypeScript, replaces the ESLint setup, upgrades dependencies, adds pnpm workflows, and updates documentation links and contribution instructions.

Changes

Docusaurus migration

Layer / File(s) Summary
Toolchain and validation setup
.gitignore, package.json, eslint.config.mjs, pnpm-workspace.yaml, tsconfig.json
The project now uses pnpm 11 and Node.js 20+, updated Docusaurus and React packages, ESLint flat configuration, TypeScript settings, validation scripts, dependency overrides, and .env ignores.
Typed site structure
docusaurus.config.ts, sidebars.ts, src/pages/index.tsx
Docusaurus configuration, sidebar exports, and the homepage now use TypeScript modules and typed declarations.
Documentation and contribution workflow
README.md, docs/dao-operations/rips.md
The README documents Docusaurus 3, pnpm commands, quality checks, and deployment steps. DAO operation links are corrected.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: copilot

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: dependency modernization and migration to TypeScript.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/modernize-typescript

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This pull request modernizes the RaidGuild Handbook site by upgrading the Docusaurus stack, moving site/config code to TypeScript, and switching the repository’s developer tooling to pnpm + modern lint/format/typecheck workflows.

Changes:

  • Migrate Docusaurus config, sidebars, and the homepage to TypeScript (docusaurus.config.ts, sidebars.ts, src/pages/index.tsx) and remove the JS/JSX counterparts.
  • Switch to pnpm (pinned via packageManager) and add updated scripts for formatting, linting, typechecking, and an aggregated pnpm check.
  • Refresh docs/README links and instructions to match the new structure and workflow (including fixing a broken URL in docs/dao-operations/rips.md).

Reviewed changes

Copilot reviewed 11 out of 14 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tsconfig.json Adds a TS config extending Docusaurus defaults and sets deprecation-ignore behavior.
src/pages/index.tsx Replaces the old JSX homepage with a typed TSX version.
src/pages/index.jsx Removes the legacy JSX homepage implementation.
sidebars.ts Converts sidebars config to typed TS + ESM export.
README.md Updates Docusaurus version/tooling instructions and fixes/updates documentation links.
pnpm-workspace.yaml Adds pnpm workspace configuration including dependency overrides.
package.json Pins pnpm + Node engine, modernizes dependencies, and adds lint/format/typecheck/check scripts.
eslint.config.mjs Introduces ESLint flat config for TS + React with Prettier integration.
docusaurus.config.ts Adds a typed Docusaurus 3 configuration file.
docusaurus.config.js Removes the legacy JS Docusaurus 2 configuration.
docs/dao-operations/rips.md Fixes a malformed external URL and updates internal doc links/anchors.
.gitignore Adds .env to ignored files.
.eslintrc.json Removes the legacy ESLint config in favor of flat config.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (1)
package.json (1)

40-50: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Enable React Hooks linting.

eslint-plugin-react does not provide the Rules of Hooks or Hooks dependency checks. Add eslint-plugin-react-hooks version 6 or later. Then enable its recommended flat configuration in eslint.config.mjs. React 19.2 requires this plugin generation for its Hooks linting semantics.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package.json` around lines 40 - 50, Add eslint-plugin-react-hooks version 6
or later to the development dependencies, then update the flat ESLint
configuration in eslint.config.mjs to include the plugin’s recommended
configuration. Ensure the Rules of Hooks and Hooks dependency checks are enabled
alongside the existing React linting setup.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.gitignore:
- Line 13: Update the environment-file ignore rule in .gitignore to match .env.*
variants such as .env.local and .env.development, while explicitly allowing the
example environment file to remain trackable.

In `@package.json`:
- Line 18: Update the package.json check script to invoke format:check, lint,
typecheck, and build through pnpm run without relying on Corepack, while
preserving their existing order and fail-fast behavior.

In `@README.md`:
- Around line 30-37: Update the README prerequisites to require Node.js 22.13 or
newer to match the pnpm@11.18.0 requirement, and retain or clarify the Corepack
prerequisite for Node.js 25 and newer where Corepack is no longer bundled.

---

Nitpick comments:
In `@package.json`:
- Around line 40-50: Add eslint-plugin-react-hooks version 6 or later to the
development dependencies, then update the flat ESLint configuration in
eslint.config.mjs to include the plugin’s recommended configuration. Ensure the
Rules of Hooks and Hooks dependency checks are enabled alongside the existing
React linting setup.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 1ac61e36-5025-4ad6-b294-a5de73615181

📥 Commits

Reviewing files that changed from the base of the PR and between 3ef64cb and ce65522.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (13)
  • .eslintrc.json
  • .gitignore
  • README.md
  • docs/dao-operations/rips.md
  • docusaurus.config.js
  • docusaurus.config.ts
  • eslint.config.mjs
  • package.json
  • pnpm-workspace.yaml
  • sidebars.ts
  • src/pages/index.jsx
  • src/pages/index.tsx
  • tsconfig.json
💤 Files with no reviewable changes (3)
  • src/pages/index.jsx
  • .eslintrc.json
  • docusaurus.config.js

Comment thread .gitignore
Comment thread package.json
Comment thread README.md Outdated
@ECWireless
ECWireless merged commit 3b81477 into main Aug 2, 2026
3 checks passed
@ECWireless
ECWireless deleted the chore/modernize-typescript branch August 2, 2026 20:38

This branch was successfully deployed

1 active deployment
Preview — e33794a9 Deployed Aug 2, 2026 by vercel[bot]
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