-
-
Notifications
You must be signed in to change notification settings - Fork 638
Move React/Shakapacker version compatibility to generator smoke tests #2125
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?
Changes from all commits
504f499
8869a2c
6f5b0e5
be2c39e
175322f
4eb4575
816ae7d
7bc7ff7
d62b9aa
d881bf1
b255da8
7582e68
f666831
3ca2f9f
12fc9d2
f36c4ff
a07f022
4f868c5
7288eef
a68cd63
33d6fc3
5532c5d
f353f28
a96560a
d48f229
2249352
a28f819
7c10881
aac91b8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -31,8 +31,8 @@ | |
| "@tsconfig/node14": "^14.1.2", | ||
| "@types/jest": "^29.5.14", | ||
| "@types/node": "^20.17.16", | ||
| "@types/react": "^18.3.18", | ||
| "@types/react-dom": "^18.3.5", | ||
| "@types/react": "^19.0.0", | ||
| "@types/react-dom": "^19.0.0", | ||
| "@types/turbolinks": "^5.2.2", | ||
| "create-react-class": "^15.7.0", | ||
| "eslint": "^9.24.0", | ||
|
|
@@ -58,8 +58,9 @@ | |
| "prettier": "^3.5.2", | ||
| "prop-types": "^15.8.1", | ||
| "publint": "^0.3.4", | ||
| "react": "18.0.0", | ||
| "react-dom": "18.0.0", | ||
| "react": "^19.0.0", | ||
| "react-dom": "^19.0.0", | ||
| "react-on-rails-rsc": "19.0.2", | ||
|
Comment on lines
+61
to
+63
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Check if package.json ends with newline
echo "=== Checking package.json file ending ==="
tail -c 5 package.json | od -c
echo ""
echo "=== Full tail of package.json (last 10 lines) ==="
tail -10 package.jsonRepository: shakacode/react_on_rails Length of output: 498 🏁 Script executed: #!/bin/bash
# Search for potential React 19 compatibility issues
echo "=== Checking for forwardRef usage (deprecated in React 19) ==="
rg -n "forwardRef" --type=jsx --type=tsx --type=js --type=ts -g '!node_modules' -g '!vendor' -C2
echo ""
echo "=== Checking for legacy context usage (removed in React 19) ==="
rg -n "contextTypes|getChildContext" --type=jsx --type=tsx --type=js --type=ts -g '!node_modules' -g '!vendor' -C2
echo ""
echo "=== Checking for string refs (removed in React 19) ==="
rg -n 'ref="' --type=jsx --type=tsx -g '!node_modules' -g '!vendor' -C2
echo ""
echo "=== Checking for ReactDOM.render usage (removed in React 19) ==="
rg -n "ReactDOM\.(render|hydrate|unmountComponentAtNode)" --type=jsx --type=tsx --type=js --type=ts -g '!node_modules' -g '!vendor' -C2Repository: shakacode/react_on_rails Length of output: 446 🏁 Script executed: #!/bin/bash
# Check exact file ending
echo "=== Checking package.json exact file ending ==="
tail -c 10 package.json | xxd
echo ""
echo "=== Last character check ==="
tail -c 1 package.json | wc -lRepository: shakacode/react_on_rails Length of output: 206 🏁 Script executed: #!/bin/bash
# Search for React 19 compatibility issues without restrictive file type filters
echo "=== Checking for forwardRef usage ==="
rg -n "forwardRef" -g '!node_modules' -g '!vendor' -C2
echo ""
echo "=== Checking for legacy context usage ==="
rg -n "contextTypes|getChildContext" -g '!node_modules' -g '!vendor' -C2
echo ""
echo "=== Checking for string refs ==="
rg -n 'ref="' -g '!node_modules' -g '!vendor' -C2 | head -50
echo ""
echo "=== Checking for ReactDOM.render usage ==="
rg -n "ReactDOM\.(render|hydrate|unmountComponentAtNode)" -g '!node_modules' -g '!vendor' -C2Repository: shakacode/react_on_rails Length of output: 50383 🏁 Script executed: #!/bin/bash
# Check for forwardRef in source code (excluding test fixtures and bundles)
echo "=== Checking for forwardRef in source code only ==="
rg -n "forwardRef" -g '!node_modules' -g '!vendor' -g '!tests/fixtures' -g '!*.bundle.js' -g '!**/dist/**' -C1
echo ""
echo "=== Checking app/components directory specifically ==="
fd -e js -e jsx -e ts -e tsx app/ src/ 2>/dev/null | head -20
echo ""
echo "=== ReactDOM deprecated methods in source ==="
rg -n "ReactDOM\.(render|hydrate|unmountComponentAtNode)" -g '!node_modules' -g '!vendor' -g '!tests/fixtures' -C2Repository: shakacode/react_on_rails Length of output: 50382 Ensure package.json ends with a newline character. The file currently does not end with a newline, violating the coding guidelines that require all files to end with a newline before committing. 🤖 Prompt for AI Agents |
||
| "redux": "^4.2.1", | ||
| "size-limit": "^12.0.0", | ||
| "stylelint": "^16.14.0", | ||
|
|
||
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.
🧩 Analysis chain
🏁 Script executed:
Repository: shakacode/react_on_rails
Length of output: 105
🏁 Script executed:
rg -A2 'desc.*shakapacker_examples' --type rubyRepository: shakacode/react_on_rails
Length of output: 50
🏁 Script executed:
rg -n 'task.*:shakapacker_examples' --type rubyRepository: shakacode/react_on_rails
Length of output: 50
🏁 Script executed:
cat -n react_on_rails/rakelib/run_rspec.rake | head -150Repository: shakacode/react_on_rails
Length of output: 7221
🏁 Script executed:
rg -i 'shakapacker_examples' react_on_rails/rakelib/run_rspec.rake -B2 -A2Repository: shakacode/react_on_rails
Length of output: 2659
Change rake task name on line 188 to match the step's minimum version specification.
Line 188 uses
run_rspec:shakapacker_examples_pinned, but the step's description and condition (matrix.dependency-level == 'minimum') indicate it should run only minimum-supported version examples (React 18.0.0, Shakapacker 8.2.0). The correct task isrun_rspec:shakapacker_examples_minimum. Theshakapacker_examples_pinnedtask runs all pinned versions (both React 17 and 18), which is inconsistent with the "minimum" condition and label.🤖 Prompt for AI Agents