Skip to content

Conversation

@sriramveeraghanta
Copy link
Member

@sriramveeraghanta sriramveeraghanta commented Dec 9, 2025

Summary by CodeRabbit

  • Chores
    • Optimized dependency resolution configuration to reduce package duplicates and improve build performance.

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

Copilot AI review requested due to automatic review settings December 9, 2025 10:52
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 9, 2025

Walkthrough

Configuration update to .npmrc adding public-hoist-pattern entries for typescript, eslint, @plane/\*, vite, and turbo to hoist these dependencies at the root level, reducing duplicates and improving resolution speed.

Changes

Cohort / File(s) Summary
NPM Configuration
\.npmrc
Added public-hoist-pattern entries to hoist typescript, eslint, @plane/\*, vite, and turbo packages at root level

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

  • Single configuration file with straightforward pattern additions
  • No logic or behavioral changes to verify
  • Standard workspace hoisting optimization

Poem

🐰 Hop, hop—the packages now align,
At root they gather, neat and fine,
No dupes to clutter, speeds take flight,
Our workspace zips with pure delight!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning No pull request description was provided; required template sections like Description, Type of Change, Test Scenarios, and References are all missing. Add a detailed description explaining why hoist patterns were added, select the appropriate change type (likely Performance improvements), document test scenarios, and link any related issues.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: updating npmrc with hoist patterns to optimize dependency resolution and reduce duplicates.
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 fix-docker-build-hoist-patterns

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

@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

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2240ac0 and cb3624d.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • .npmrc (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: sriramveeraghanta
Repo: makeplane/plane PR: 7672
File: pnpm-workspace.yaml:8-9
Timestamp: 2025-08-29T08:45:15.953Z
Learning: The makeplane/plane repository uses pnpm v10.12.1, which supports onlyBuiltDependencies configuration in pnpm-workspace.yaml files.
Learnt from: CR
Repo: makeplane/plane PR: 0
File: .github/instructions/typescript.instructions.md:0-0
Timestamp: 2025-11-25T10:18:05.172Z
Learning: Assume `--moduleResolution bundler` resolution strategy for modern web projects (Vite, Next.js, etc.)
Learnt from: CR
Repo: makeplane/plane PR: 0
File: .github/instructions/typescript.instructions.md:0-0
Timestamp: 2025-11-25T10:18:05.172Z
Learning: Applies to **/*.{ts,tsx,mts,cts} : Use `import type { Type } from "mod" with { "resolution-mode": "import" }` for specific module resolution contexts (TypeScript 5.3+)
🔇 Additional comments (1)
.npmrc (1)

48-54: Verify hoist patterns resolve correctly and don't cause version conflicts.

After fixing the pattern syntax, verify that:

  1. All five patterns (typescript, eslint, @plane/*, vite, turbo) correctly resolve and hoist to the root node_modules.
  2. No version conflicts arise from hoisting these packages across different workspaces (especially critical for @plane/* internal packages that may have stricter version requirements).
  3. The hoisting doesn't break any workspace-specific dependency constraints.

Run a pnpm install on your local environment and verify the hoisting behavior, or use pnpm list -r to inspect the dependency tree and confirm packages are hoisted correctly.

Comment on lines +50 to +52
public-hoist-pattern[] = typescript
public-hoist-pattern[] = eslint
public-hoist-pattern[] = *@plane/*
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Correct the glob pattern for @plane scoped packages.

The pattern *@plane/* uses incorrect glob syntax and won't match @plane/* scoped packages as intended. In glob patterns, the leading * matches any characters before @plane/, so it would match foo@plane/bar instead of @plane/something.

Apply this diff to fix the pattern:

-public-hoist-pattern[] = *@plane/*
+public-hoist-pattern[] = @plane/*
🤖 Prompt for AI Agents
In .npmrc around lines 50 to 52, the glob pattern for @plane scoped packages is
incorrect; replace the existing public-hoist-pattern[] = *@plane/* entry with
public-hoist-pattern[] = @plane/* so the pattern matches packages scoped under
@plane (e.g., @plane/foo) instead of incorrectly matching strings that contain
@plane in the middle.

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 attempts to add public-hoist-pattern configurations to .npmrc to improve dependency resolution performance by hoisting commonly used tools (typescript, eslint, vite, turbo, and @plane/* packages) to the root node_modules. However, there are critical compatibility issues with the existing configuration and unintended lockfile changes.

  • Adds hoisting patterns for frequently used development tools
  • Introduces a configuration conflict with the existing node-linker = isolated setting
  • Inadvertently downgrades caniuse-lite dependency from a newer to an older version

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.

File Description
.npmrc Adds public-hoist-pattern configurations for typescript, eslint, vite, turbo, and @plane/* packages; conflicts with existing node-linker = isolated setting
pnpm-lock.yaml Adds [email protected] resolution and snapshot entries; downgrades Next.js's caniuse-lite dependency from version 1.0.30001759 to 1.0.30001756
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

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

@sriramveeraghanta sriramveeraghanta merged commit a3e6518 into preview Dec 9, 2025
21 of 22 checks passed
@sriramveeraghanta sriramveeraghanta deleted the fix-docker-build-hoist-patterns branch December 9, 2025 11:02
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