-
Notifications
You must be signed in to change notification settings - Fork 380
Investigation: Shakapacker 9.0.0-beta.5 npm package issue #661
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
base: master
Are you sure you want to change the base?
Conversation
Found that beta.5 npm package is missing compiled JavaScript files. The package only contains TypeScript source files without the build output. Key findings: - Beta.4 works but defaults to SWC (need to set javascript_transpiler: babel) - Beta.5 has only .ts files, missing all .js compilation output - Issue is in the npm publishing process, not the code itself Created detailed issue report for shakapacker maintainers. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
WalkthroughBumps Shakapacker from 8.2.0 to 9.0.0-beta.5 in Gemfile and package.json, adds javascript_transpiler: babel to config/shakapacker.yml, and adds SHAKAPACKER_BETA5_ISSUE.md documenting a packaging issue with beta.5. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
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. Comment |
🚀 Quick Review App CommandsWelcome! Here are the commands you can use in this PR:
|
Code Review for PR #661: Investigation of Shakapacker 9.0.0-beta.5 IssueThank you for this thorough investigation into the Shakapacker beta.5 issue! Here's my review: ✅ Strengths
|
There was a problem hiding this 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
🧹 Nitpick comments (1)
SHAKAPACKER_BETA5_ISSUE.md (1)
10-48
: Add language identifiers to the fenced code blocks.Markdownlint (MD040) is flagging the untyped fences here. Add language hints so downstream tooling (and GitHub’s renderer) can highlight correctly.
-``` +```text Error: Cannot find module '/path/to/node_modules/shakapacker/package/index.js'Repeat for the bash and JSON snippets (`bash`, `json`). </blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used**: CodeRabbit UI **Review profile**: CHILL **Plan**: Pro <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 25bc5eaa1ed20924ff9d5b55be6b463f20cc83a3 and 95f2d0e02363259044bf5a0a5a7562269580e193. </details> <details> <summary>⛔ Files ignored due to path filters (2)</summary> * `Gemfile.lock` is excluded by `!**/*.lock` * `yarn.lock` is excluded by `!**/yarn.lock`, `!**/*.lock` </details> <details> <summary>📒 Files selected for processing (4)</summary> * `Gemfile` (1 hunks) * `SHAKAPACKER_BETA5_ISSUE.md` (1 hunks) * `config/shakapacker.yml` (1 hunks) * `package.json` (1 hunks) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 markdownlint-cli2 (0.18.1)</summary> <details> <summary>SHAKAPACKER_BETA5_ISSUE.md</summary> 10-10: Fenced code blocks should have a language specified (MD040, fenced-code-language) </details> </details> </details> <details> <summary>⏰ 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). (1)</summary> * GitHub Check: claude-review </details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
|
||
gem "react_on_rails", "16.1.1" | ||
gem "shakapacker", "8.2.0" | ||
gem "shakapacker", "9.0.0.beta.5" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do not upgrade to beta.5—it ships without compiled JS output.
Line 9 pulls in shakapacker 9.0.0.beta.5, but the investigation doc in this PR shows that beta.5 is published without any compiled .js
files, so webpack fails with “Cannot find module ‘…/shakapacker/package/index.js’.” Shipping this version will break every build. Please stick to 9.0.0-beta.4 (or 8.x) until beta.5 is republished with the compiled output.
Apply this diff to keep the project working:
-gem "shakapacker", "9.0.0.beta.5"
+gem "shakapacker", "9.0.0.beta.4"
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
gem "shakapacker", "9.0.0.beta.5" | |
gem "shakapacker", "9.0.0.beta.4" |
🤖 Prompt for AI Agents
In Gemfile around line 9, the project currently specifies gem "shakapacker",
"9.0.0.beta.5" which is a broken release missing compiled JS; change the Gemfile
to pin a safe version (e.g. "9.0.0-beta.4" or an 8.x release) by replacing the
version string on that line with the chosen stable version and run bundle
install to update Gemfile.lock.
"sass-loader": "^13.3.2", | ||
"sass-resources-loader": "^2.2.5", | ||
"shakapacker": "8.2.0", | ||
"shakapacker": "9.0.0-beta.5", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep npm on beta.4 until beta.5 is republished with JS builds.
Line 96 updates npm to shakapacker@9.0.0-beta.5
, but that package is missing all compiled JavaScript files, so require('shakapacker')
blows up at runtime. This mirrors the failure documented in SHAKAPACKER_BETA5_ISSUE.md. Please revert to beta.4 (or another working release) until beta.5 includes its build artifacts.
- "shakapacker": "9.0.0-beta.5",
+ "shakapacker": "9.0.0-beta.4",
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
"shakapacker": "9.0.0-beta.5", | |
"shakapacker": "9.0.0-beta.4", |
🤖 Prompt for AI Agents
In package.json around line 96, the dependency was upgraded to "shakapacker":
"9.0.0-beta.5" but that release is missing compiled JS and breaks
require('shakapacker'); change the version back to a known-good release (e.g.
"9.0.0-beta.4" or another working tag), then update the lockfile and reinstall
dependencies (npm install or npm ci) and run the test/start script to verify the
runtime no longer fails; once beta.5 includes builds you can bump the version
and repeat verification.
Summary
Investigated issues with shakapacker beta versions and found critical issue with 9.0.0-beta.5 npm package.
Findings
Beta.5 Issue
Beta.4 Status
javascript_transpiler: babel
in shakapacker.ymlDetails
See SHAKAPACKER_BETA5_ISSUE.md for complete investigation details and comparison between versions.
Recommendations
🤖 Generated with Claude Code
This change is
Summary by CodeRabbit