Skip to content

Conversation

@AbanoubGhadban
Copy link
Collaborator

Summary

  • Delete react_on_rails_pro/spec/dummy/pnpm-workspace.yaml — leftover from the yalc era that made pnpm treat the dummy as an isolated workspace root, preventing pnpm exec webpack from finding binaries hoisted to root node_modules/.bin/
  • Remove pinned @pmmmwh/[email protected] from dummy's devDependencies — conflicted with Shakapacker's 0.5.17 at root, causing the react-refresh loader to be applied twice in dev server mode

Follow-up cleanup from #2338.

Test plan

  • pnpm install from repo root succeeds
  • pnpm exec webpack --version from react_on_rails_pro/spec/dummy/ resolves correctly
  • Procfile.dev starts without "Command webpack not found"
  • No $ReactRefreshModuleRuntime$ has already been declared error in dev server mode
  • CI passes

Fixes #2399

🤖 Generated with Claude Code

Remove leftover yalc-era pnpm-workspace.yaml from the Pro dummy app
that caused pnpm to treat it as an isolated workspace root, preventing
webpack binary resolution from the repo root node_modules/.bin/.

Remove pinned @pmmmwh/[email protected] from dummy's
devDependencies that conflicted with Shakapacker's 0.5.17 at root,
causing the react-refresh loader to be applied twice in dev server mode.

Fixes #2399

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@github-actions
Copy link
Contributor

size-limit report 📦

Path Size
react-on-rails/client bundled (gzip) 62.5 KB (0%)
react-on-rails/client bundled (gzip) (time) 62.5 KB (0%)
react-on-rails/client bundled (brotli) 53.71 KB (0%)
react-on-rails/client bundled (brotli) (time) 53.68 KB (-0.05% 🔽)
react-on-rails-pro/client bundled (gzip) 63.5 KB (0%)
react-on-rails-pro/client bundled (gzip) (time) 63.5 KB (0%)
react-on-rails-pro/client bundled (brotli) 54.67 KB (0%)
react-on-rails-pro/client bundled (brotli) (time) 54.67 KB (0%)
registerServerComponent/client bundled (gzip) 127.11 KB (0%)
registerServerComponent/client bundled (gzip) (time) 127.11 KB (0%)
registerServerComponent/client bundled (brotli) 61.52 KB (0%)
registerServerComponent/client bundled (brotli) (time) 61.52 KB (0%)
wrapServerComponentRenderer/client bundled (gzip) 121.61 KB (0%)
wrapServerComponentRenderer/client bundled (gzip) (time) 121.61 KB (0%)
wrapServerComponentRenderer/client bundled (brotli) 56.58 KB (0%)
wrapServerComponentRenderer/client bundled (brotli) (time) 56.58 KB (0%)

@greptile-apps
Copy link

greptile-apps bot commented Feb 12, 2026

Greptile Overview

Greptile Summary

Removes leftover yalc-era pnpm-workspace.yaml from Pro dummy app that was preventing webpack binary resolution, and removes pinned @pmmmwh/[email protected] that conflicted with Shakapacker's 0.5.17 dependency.

Key changes:

  • Deleted react_on_rails_pro/spec/dummy/pnpm-workspace.yaml — this file made pnpm treat the dummy as an isolated workspace root, preventing it from accessing binaries hoisted to the monorepo root's node_modules/.bin/
  • Removed @pmmmwh/[email protected] from Pro dummy's devDependencies — the pinned version conflicted with Shakapacker's transitive dependency on 0.5.17, causing the react-refresh loader to be applied twice in dev server mode
  • Updated pnpm-lock.yaml to reflect the removal of the obsolete pinned dependency

Note: The non-Pro dummy app (react_on_rails/spec/dummy/) still contains an identical pnpm-workspace.yaml file that may need similar treatment if it experiences the same webpack resolution issues.

Confidence Score: 5/5

  • Safe to merge - cleanup PR that removes configuration conflicts from workspace migration
  • This is a straightforward cleanup PR that fixes two specific issues left over from the pnpm workspace migration. Both changes are deletions that remove problematic configuration: the workspace file that caused binary resolution issues, and the pinned dependency that caused loader conflicts. The changes are well-explained in the PR description with a clear test plan, and align with the workspace structure defined in the root pnpm-workspace.yaml.
  • No files require special attention

Important Files Changed

Filename Overview
react_on_rails_pro/spec/dummy/pnpm-workspace.yaml Deleted leftover workspace config that prevented pnpm from resolving binaries from root node_modules/.bin/
react_on_rails_pro/spec/dummy/package.json Removed pinned @pmmmwh/[email protected] that conflicted with Shakapacker's 0.5.17
pnpm-lock.yaml Lockfile updated to remove obsolete @pmmmwh/[email protected] and its dependencies

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

3 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@greptile-apps
Copy link

greptile-apps bot commented Feb 12, 2026

Additional Comments (1)

react_on_rails_pro/spec/dummy/pnpm-workspace.yaml
Check whether react_on_rails/spec/dummy/pnpm-workspace.yaml (identical file) also needs to be removed to prevent the same webpack resolution issue

@justin808 justin808 merged commit 577cb97 into master Feb 13, 2026
37 checks passed
@justin808 justin808 deleted the 2399-fix-pro-dummy-pnpm-workspace branch February 13, 2026 04:24
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.

Pro dummy app broken after pnpm workspace migration: webpack not found and duplicate react-refresh loader

3 participants