Skip to content

Commit 0a227f9

Browse files
Update all dependencies to use local packages in monorepo
- Update react_on_rails_pro gemspec to use local gem dependency - Update development dependencies to use local gem path - Update dummy app package.json to use local npm package - Add CircleCI build-core-package job to build React on Rails package - Share built package via workspace to all pro jobs - Ensure all pro jobs depend on build-core-package for local dependencies 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 6bd6865 commit 0a227f9

File tree

8 files changed

+83
-33
lines changed

8 files changed

+83
-33
lines changed

.circleci/config.yml

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,35 @@ aliases:
125125
echo -e "\nInstalled $(google-chrome --version)"
126126
fi
127127
128+
# Build core React on Rails package for pro package to use
129+
- &build-core-package
130+
name: Build core React on Rails package
131+
command: |
132+
yarn install --frozen-lockfile --no-progress --no-emoji
133+
yarn run build
134+
128135
jobs:
136+
# Build core React on Rails package
137+
build-core-package:
138+
docker:
139+
- image: &docker_image cimg/ruby:3.3.7-browsers
140+
steps:
141+
- checkout
142+
- run: *print-system-info
143+
- run: *build-core-package
144+
- persist_to_workspace:
145+
root: .
146+
paths:
147+
- node_package/lib
148+
129149
# Lint all
130150
lint-js-and-ruby:
131151
docker:
132152
- image: &docker_image cimg/ruby:3.3.7-browsers
133153
steps:
134154
- checkout
155+
- attach_workspace:
156+
at: .
135157
- run: *print-system-info
136158
- restore_cache: *restore-package-node-modules-cache
137159
- restore_cache: *restore-package-gem-cache
@@ -158,6 +180,8 @@ jobs:
158180
- image: *docker_image
159181
steps:
160182
- checkout
183+
- attach_workspace:
184+
at: .
161185
- run: *print-system-info
162186
- restore_cache: *restore-package-node-modules-cache
163187
- run: *install-package-node-modules
@@ -173,6 +197,8 @@ jobs:
173197
- image: *docker_image
174198
steps:
175199
- checkout
200+
- attach_workspace:
201+
at: .
176202
- run: *print-system-info
177203
- restore_cache: *restore-dummy-app-node-modules-cache
178204
- run: *install-package-node-modules
@@ -189,6 +215,8 @@ jobs:
189215
- image: *docker_image
190216
steps:
191217
- checkout
218+
- attach_workspace:
219+
at: .
192220
- run: *print-system-info
193221
- restore_cache: *restore-package-gem-cache
194222
- run: *install-package-ruby-gems
@@ -204,6 +232,8 @@ jobs:
204232
- image: *docker_image
205233
steps:
206234
- checkout
235+
- attach_workspace:
236+
at: .
207237
- run: *print-system-info
208238
- restore_cache: *restore-dummy-app-gem-cache
209239
- run: *install-dummy-app-ruby-gems
@@ -221,6 +251,8 @@ jobs:
221251
- image: *docker_image
222252
steps:
223253
- checkout
254+
- attach_workspace:
255+
at: .
224256
- run: *print-system-info
225257
- restore_cache: *restore-package-node-modules-cache
226258
- restore_cache: *restore-dummy-app-node-modules-cache
@@ -246,6 +278,8 @@ jobs:
246278
- image: *docker_image
247279
steps:
248280
- checkout
281+
- attach_workspace:
282+
at: .
249283
- run: *print-system-info
250284
- restore_cache: *restore-package-node-modules-cache
251285
- run: rm -rf react_on_rails_pro/spec/dummy/public/webpack
@@ -268,6 +302,8 @@ jobs:
268302
- image: *docker_image
269303
steps:
270304
- checkout
305+
- attach_workspace:
306+
at: .
271307
- run: *print-system-info
272308
- restore_cache: *restore-package-gem-cache
273309
- run: *install-package-ruby-gems
@@ -291,6 +327,8 @@ jobs:
291327
- image: *docker_image
292328
steps:
293329
- checkout
330+
- attach_workspace:
331+
at: .
294332
- run: *print-system-info
295333
- restore_cache: *restore-package-gem-cache
296334
- restore_cache: *restore-package-node-modules-cache
@@ -347,30 +385,42 @@ workflows:
347385
version: 2
348386
build-and-test:
349387
jobs:
350-
- install-package-node-packages
351-
- install-package-ruby-gems
388+
- build-core-package
389+
- install-package-node-packages:
390+
requires:
391+
- build-core-package
392+
- install-package-ruby-gems:
393+
requires:
394+
- build-core-package
352395
- install-dummy-app-node-packages:
353396
requires:
354397
- install-package-node-packages
355-
- install-dummy-app-ruby-gems
398+
- install-dummy-app-ruby-gems:
399+
requires:
400+
- build-core-package
356401
- lint-js-and-ruby:
357402
requires:
403+
- build-core-package
358404
- install-package-node-packages
359405
- install-package-ruby-gems
360406
- install-dummy-app-node-packages
361407
- build-dummy-app-webpack-test-bundles:
362408
requires:
409+
- build-core-package
363410
- install-package-node-packages
364411
- install-dummy-app-node-packages
365412
- install-dummy-app-ruby-gems
366413
- package-js-tests:
367414
requires:
415+
- build-core-package
368416
- install-package-node-packages
369417
- build-dummy-app-webpack-test-bundles
370418
- rspec-package-specs:
371419
requires:
420+
- build-core-package
372421
- install-package-ruby-gems
373422
- rspec-dummy-app-node-renderer:
374423
requires:
424+
- build-core-package
375425
- install-package-ruby-gems
376426
- build-dummy-app-webpack-test-bundles

react_on_rails_pro/Gemfile.development_dependencies

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
55

66
ruby '3.3.7'
77

8-
gem "react_on_rails", "16.1.1"
9-
10-
# For local development
11-
# Add the following line to the Gemfile.local file
12-
# gem "react_on_rails", path: "../react_on_rails"
8+
gem "react_on_rails", path: "../"
139

1410
gem "shakapacker", "8.0.0"
1511
gem "bootsnap", require: false

react_on_rails_pro/Gemfile.lock

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,17 @@ GIT
66
byebug (~> 11.0)
77
pry (>= 0.13, < 0.15)
88

9+
PATH
10+
remote: ..
11+
specs:
12+
react_on_rails (16.1.1)
13+
addressable
14+
connection_pool
15+
execjs (~> 2.5)
16+
rails (>= 5.2)
17+
rainbow (~> 3.0)
18+
shakapacker (>= 6.0)
19+
920
PATH
1021
remote: .
1122
specs:
@@ -288,13 +299,6 @@ GEM
288299
ffi (~> 1.0)
289300
rdoc (6.12.0)
290301
psych (>= 4.0.0)
291-
react_on_rails (16.1.1)
292-
addressable
293-
connection_pool
294-
execjs (~> 2.5)
295-
rails (>= 5.2)
296-
rainbow (~> 3.0)
297-
shakapacker (>= 6.0)
298302
regexp_parser (2.9.2)
299303
reline (0.6.0)
300304
io-console (~> 0.5)
@@ -469,7 +473,7 @@ DEPENDENCIES
469473
pry-theme
470474
puma (~> 6)
471475
rails (~> 7.1)
472-
react_on_rails (= 16.1.1)
476+
react_on_rails!
473477
react_on_rails_pro!
474478
rspec-rails
475479
rspec-retry

react_on_rails_pro/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
"nps": "^5.9.12",
8686
"pino-pretty": "^13.0.0",
8787
"prettier": "^3.2.5",
88-
"react-on-rails": "file:../node_package",
88+
"react-on-rails": "file:../",
8989
"redis": "^5.0.1",
9090
"release-it": "^17.6.0",
9191
"sentry-testkit": "^5.0.6",

react_on_rails_pro/spec/dummy/Gemfile.lock

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,17 @@ PATH
1717
rainbow
1818
react_on_rails (>= 16.0.0)
1919

20+
PATH
21+
remote: ../../..
22+
specs:
23+
react_on_rails (16.1.1)
24+
addressable
25+
connection_pool
26+
execjs (~> 2.5)
27+
rails (>= 5.2)
28+
rainbow (~> 3.0)
29+
shakapacker (>= 6.0)
30+
2031
GEM
2132
remote: https://rubygems.org/
2233
specs:
@@ -315,13 +326,6 @@ GEM
315326
ffi (~> 1.0)
316327
rdoc (6.12.0)
317328
psych (>= 4.0.0)
318-
react_on_rails (16.1.1)
319-
addressable
320-
connection_pool
321-
execjs (~> 2.5)
322-
rails (>= 5.2)
323-
rainbow (~> 3.0)
324-
shakapacker (>= 6.0)
325329
redis (5.4.0)
326330
redis-client (>= 0.22.0)
327331
redis-client (0.24.0)
@@ -517,7 +521,7 @@ DEPENDENCIES
517521
pry-theme
518522
puma (~> 6)
519523
rails (~> 7.1)
520-
react_on_rails (= 16.1.1)
524+
react_on_rails!
521525
react_on_rails_pro!
522526
redis
523527
rspec-rails

react_on_rails_pro/spec/dummy/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"react-dom": "19.0.0",
5252
"react-error-boundary": "^4.1.2",
5353
"react-helmet": "^6.0.0-beta.2",
54-
"react-on-rails": "16.1.1",
54+
"react-on-rails": "file:../",
5555
"react-on-rails-rsc": "^19.0.2",
5656
"react-proptypes": "^1.0.0",
5757
"react-redux": "^9.2.0",

react_on_rails_pro/spec/dummy/yarn.lock

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5353,10 +5353,8 @@ react-on-rails-rsc@^19.0.2:
53535353
neo-async "^2.6.1"
53545354
webpack-sources "^3.2.0"
53555355

5356-
5357-
version "16.1.1"
5358-
resolved "https://registry.yarnpkg.com/react-on-rails/-/react-on-rails-16.1.1.tgz#bf5e752c44381252204482342ae5722d9f45f715"
5359-
integrity sha512-Ntw/4HSB/p9QJ1V2kc0aETzK0W0Vy0suSh0Ugs3Ctfso2ovIT2YUegJJyPtFzX9jUZSR6Q/tkmkgNgzASkO0pw==
5356+
"react-on-rails@file:..":
5357+
version "0.0.0"
53605358

53615359
react-proptypes@^1.0.0:
53625360
version "1.0.0"

react_on_rails_pro/yarn.lock

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6843,10 +6843,8 @@ react-is@^18.0.0:
68436843
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
68446844
integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
68456845

6846-
react-on-rails@16.1.1:
6846+
"react-on-rails@file:..":
68476847
version "16.1.1"
6848-
resolved "https://registry.yarnpkg.com/react-on-rails/-/react-on-rails-16.1.1.tgz#bf5e752c44381252204482342ae5722d9f45f715"
6849-
integrity sha512-Ntw/4HSB/p9QJ1V2kc0aETzK0W0Vy0suSh0Ugs3Ctfso2ovIT2YUegJJyPtFzX9jUZSR6Q/tkmkgNgzASkO0pw==
68506848

68516849
readable-stream@^2.2.2:
68526850
version "2.3.8"

0 commit comments

Comments
 (0)