Developing Shakapacker
It's a little trickier for Rails developers to work on the JS code of a project like shakacode/shakapacker. So here are some tips!
Use some test app
For example, for React on Rails Changes, I'm using shakacode/react_on_rails_tutorial_with_ssr_and_hmr_fast_refresh.
This directory is the TEST_APP_DIR.
Fork shakacode/shakapacker
Let's call the shakacode/shakapacker directory SHAKAPACKER_DIR which has shakacode/shakapacker's package.json.
Changing the Package
Setup with Yalc
Use yalc unless you like yak shaving weird errors.
- In
SHAKAPACKER_DIR, runyalc publish - In
TEST_APP_DIR, runyalc link shakapacker
Update the Package Code
- Make some JS change in SHAKAPACKER_DIR
- Run
yalc pushand your changes will be pushed to yourTEST_APP_DIR's node_modules. - You may need to run
yarninTEST_APP_DIRif you added or removed dependencies of shakacode/shakapacker.
Updating the Ruby Code
For the Ruby part, just change the gem reference TEST_APP_DIR, like:
gem "shakapacker", path: "../../forks/shakapacker"