Skip to content

chore: use oxc tooling to speed up prettier#8117

Merged
sriramveeraghanta merged 2 commits intopreviewfrom
lifeiscontent/prettier-improvements
Nov 20, 2025
Merged

chore: use oxc tooling to speed up prettier#8117
sriramveeraghanta merged 2 commits intopreviewfrom
lifeiscontent/prettier-improvements

Conversation

@lifeiscontent
Copy link
Collaborator

@lifeiscontent lifeiscontent commented Nov 14, 2025

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Summary by CodeRabbit

  • Chores
    • Added a Prettier plugin and updated formatting configuration across the repo for consistent code style.
    • Standardized dependency references and consolidated version handling to improve install predictability.
    • Removed an unused styling library from affected packages to reduce footprint.

✏️ Tip: You can customize this high-level summary in your review settings.

@lifeiscontent lifeiscontent self-assigned this Nov 14, 2025
Copilot AI review requested due to automatic review settings November 14, 2025 12:19
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 14, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Adds the @prettier/plugin-oxc plugin to many Prettier configs and adds it as a devDependency across multiple packages, upgrades root Prettier to ^3.6.2, converts several React Router packages to catalog: references, removes @emotion/* from apps/space, and updates pnpm workspace entries.

Changes

Cohort / File(s) Summary
Root package & workspace
package.json, pnpm-workspace.yaml
Upgraded root prettier to ^3.6.2, removed prettier-plugin-tailwindcss, added @prettier/plugin-oxc@0.0.4; updated workspace package/catalog entries.
Prettier configs (many)
\.prettierrc, apps/*/.prettierrc, packages/*/.prettierrc, packages/*/.prettierrc.json
Added "plugins": ["@prettier/plugin-oxc"] and adjusted trailing commas where needed; replaced/removed legacy .prettierrc.json in apps/space.
Add devDependency @prettier/plugin-oxc
apps/admin/package.json, apps/live/package.json, apps/web/package.json, apps/space/package.json, packages/constants/package.json, packages/decorators/package.json, packages/editor/package.json, packages/hooks/package.json, packages/i18n/package.json, packages/logger/package.json, packages/propel/package.json, packages/services/package.json, packages/shared-state/package.json, packages/types/package.json, packages/ui/package.json, packages/utils/package.json
Added "@prettier/plugin-oxc": "0.0.4" under devDependencies in each listed package.
React Router → catalog migration
apps/admin/package.json, apps/web/package.json, apps/space/package.json, packages/editor/package.json, ...(other package.json files)
Converted router-related deps/devDeps (@react-router/node, @react-router/serve, react-router, react-router-dom, @react-router/dev) from pinned versions to catalog: references.
apps/space dependency cleanup
apps/space/package.json
Removed @emotion/react and @emotion/styled; applied router catalog: conversions and added @prettier/plugin-oxc.

Sequence Diagram(s)

(omitted — changes are configuration and dependency updates, no control-flow changes to visualize)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Repetitive Prettier config edits reduce surface area, but package.json edits vary.
  • Spot-check these files:
    • package.json (root) — Prettier/devDependency changes.
    • apps/space/package.json — emotion removal and router/catalog changes.
    • One representative .prettierrc (e.g., packages/ui/.prettierrc) — plugin entry correctness.
    • pnpm-workspace.yaml — catalog and workspace consistency.
  • Verify:
    • catalog: references resolve in the package catalog.
    • No remaining code importing removed @emotion/*.
    • Compatibility between Prettier ^3.6.2 and @prettier/plugin-oxc@0.0.4.

Possibly related PRs

Suggested labels

ready to merge

Poem

🐇 I hopped through configs, small and quick,
Sprinkled oxc plugin, tidy and slick.
Catalogled routers, trimmed emotion's vest,
A formatted meadow — now off to rest. 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description is incomplete—it only includes the Type of Change section with an Improvement checkbox marked, missing required sections like Description, Test Scenarios, and References. Add a detailed Description explaining why oxc tooling improves performance, describe test scenarios run to verify the changes, and link any related issues.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: adopting oxc tooling via @prettier/plugin-oxc to improve Prettier performance across the monorepo.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch lifeiscontent/prettier-improvements

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 and usage tips.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR integrates the oxc parser plugin to improve Prettier's performance across the monorepo. The changes add @prettier/plugin-oxc to all package configurations and update Prettier-related dependencies.

Key Changes:

  • Added @prettier/plugin-oxc@0.0.4 as a devDependency across all packages and apps
  • Updated Prettier configuration files to use the oxc plugin
  • Pinned Prettier version from "latest" to "^3.6.2" for reproducible builds

Reviewed Changes

Copilot reviewed 35 out of 35 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
package.json Pinned Prettier version and added oxc plugin; removed tailwindcss plugin
packages/*/package.json Added oxc plugin as devDependency to all packages
packages/*/.prettierrc Added oxc plugin to Prettier configuration
apps/*/package.json Added oxc plugin and migrated React Router dependencies to catalog references
apps/*/.prettierrc Added oxc plugin to Prettier configuration
apps/space/.prettierrc.json Removed in favor of .prettierrc
apps/space/.prettierrc Created with oxc plugin configuration
apps/space/package.json Removed unused emotion dependencies
packages/editor/package.json Reordered dependencies alphabetically
.prettierrc Created root configuration with oxc plugin

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

@lifeiscontent lifeiscontent force-pushed the lifeiscontent/prettier-improvements branch from fa58d3e to 4dd9524 Compare November 14, 2025 12:54
Copy link
Contributor

@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: 0

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

20-20: Verify pinned version of oxc plugin.

The oxc plugin is pinned to an exact pre-release version (0.0.4) without semantic versioning flexibility (no ^ or ~). Confirm whether this is intentional. Pre-release versions (0.x.x) typically receive breaking changes frequently, so exact pinning is reasonable, but this should be a deliberate choice aligned with team practices.

If you intend to use a pre-release version with stricter pinning, this is acceptable as a security measure. However, document the rationale if this deviates from the monorepo's standard versioning strategy for other packages.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4dd9524 and 3394ed1.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • package.json (1 hunks)
  • packages/utils/package.json (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • packages/utils/package.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-06T14:40:39.253Z
Learnt from: lifeiscontent
Repo: makeplane/plane PR: 7888
File: packages/propel/package.json:74-79
Timestamp: 2025-10-06T14:40:39.253Z
Learning: When reviewing package.json dependency version updates, verify each package version individually on the npm registry before claiming a version doesn't exist. Different packages within the same organization may have different latest versions.

Applied to files:

  • package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build and lint web apps
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (1)
package.json (1)

20-21: Confirm whether prettier-plugin-tailwindcss removal is intentional.

The removal of prettier-plugin-tailwindcss is confirmed. The project actively uses Tailwind CSS (many className attributes with Tailwind utilities found throughout the codebase), but the plugin is no longer listed in .prettierrc. Without this plugin, Prettier will no longer automatically sort Tailwind class names.

  • Version compatibility verified: @prettier/plugin-oxc@0.0.4 is compatible with prettier@^3.6.2.
  • Tailwind class sorting impact: Clarify whether automatic class sorting is still needed. If so, the plugin should be retained alongside the oxc plugin (they serve different purposes—oxc is a parser, not a class sorter).

@sriramveeraghanta sriramveeraghanta merged commit 90866fb into preview Nov 20, 2025
6 checks passed
@sriramveeraghanta sriramveeraghanta deleted the lifeiscontent/prettier-improvements branch November 20, 2025 12:00
ClarenceChen0627 pushed a commit to ClarenceChen0627/plane that referenced this pull request Dec 5, 2025
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
ClarenceChen0627 pushed a commit to ClarenceChen0627/plane that referenced this pull request Dec 5, 2025
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
ClarenceChen0627 pushed a commit to ClarenceChen0627/plane that referenced this pull request Dec 5, 2025
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
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.

3 participants