react_on_rails 13.4.0 → 14.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -2
  3. data/Gemfile.development_dependencies +10 -8
  4. data/README.md +2 -2
  5. data/lib/generators/react_on_rails/base_generator.rb +10 -2
  6. data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -1
  7. data/lib/generators/react_on_rails/templates/base/base/config/shakapacker.yml +1 -1
  8. data/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +2 -2
  9. data/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb +1 -1
  10. data/lib/react_on_rails/configuration.rb +39 -25
  11. data/lib/react_on_rails/git_utils.rb +3 -3
  12. data/lib/react_on_rails/helper.rb +2 -2
  13. data/lib/react_on_rails/json_output.rb +0 -17
  14. data/lib/react_on_rails/locales/base.rb +4 -4
  15. data/lib/react_on_rails/locales/to_js.rb +1 -1
  16. data/lib/react_on_rails/packs_generator.rb +2 -4
  17. data/lib/react_on_rails/react_component/render_options.rb +1 -1
  18. data/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +9 -9
  19. data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +3 -3
  20. data/lib/react_on_rails/test_helper.rb +2 -2
  21. data/lib/react_on_rails/utils.rb +2 -8
  22. data/lib/react_on_rails/version.rb +1 -1
  23. data/lib/react_on_rails/version_checker.rb +2 -2
  24. data/lib/react_on_rails/webpacker_utils.rb +6 -0
  25. data/lib/tasks/assets.rake +1 -1
  26. data/react_on_rails.gemspec +4 -4
  27. metadata +4 -132
  28. data/.bookignore +0 -15
  29. data/.circleci/config.yml +0 -338
  30. data/.coveralls.yml +0 -1
  31. data/.dockerignore +0 -2
  32. data/.eslintignore +0 -17
  33. data/.eslintrc +0 -53
  34. data/.github/FUNDING.yml +0 -1
  35. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -23
  36. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  37. data/.github/PULL_REQUEST_TEMPLATE.md +0 -19
  38. data/.github/workflows/lint-js-and-ruby.yml +0 -54
  39. data/.github/workflows/main.yml +0 -183
  40. data/.github/workflows/package-js-tests.yml +0 -35
  41. data/.github/workflows/rspec-package-specs.yml +0 -46
  42. data/.gitignore +0 -33
  43. data/.npmignore +0 -22
  44. data/.prettierignore +0 -14
  45. data/.prettierrc +0 -20
  46. data/.rspec +0 -2
  47. data/.rubocop.yml +0 -134
  48. data/.scss-lint.yml +0 -205
  49. data/.travis.yml +0 -61
  50. data/book.json +0 -18
  51. data/docs/additional-details/generator-details.md +0 -56
  52. data/docs/additional-details/manual-installation-overview.md +0 -30
  53. data/docs/additional-details/migrating-from-react-rails.md +0 -17
  54. data/docs/additional-details/recommended-project-structure.md +0 -69
  55. data/docs/additional-details/tips-for-usage-with-sp6.md +0 -15
  56. data/docs/additional-details/updating-dependencies.md +0 -31
  57. data/docs/additional-details/upgrade-webpacker-v3-to-v4.md +0 -10
  58. data/docs/api/javascript-api.md +0 -99
  59. data/docs/api/redux-store-api.md +0 -102
  60. data/docs/api/view-helpers-api.md +0 -133
  61. data/docs/contributor-info/errors-with-hooks.md +0 -45
  62. data/docs/contributor-info/generator-testing.md +0 -11
  63. data/docs/contributor-info/linters.md +0 -68
  64. data/docs/contributor-info/pull-requests.md +0 -42
  65. data/docs/contributor-info/releasing.md +0 -76
  66. data/docs/deployment/elastic-beanstalk.md +0 -63
  67. data/docs/deployment/heroku-deployment.md +0 -39
  68. data/docs/getting-started.md +0 -196
  69. data/docs/guides/client-vs-server-rendering.md +0 -27
  70. data/docs/guides/configuration.md +0 -289
  71. data/docs/guides/deployment.md +0 -5
  72. data/docs/guides/file-system-based-automated-bundle-generation.md +0 -197
  73. data/docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md +0 -104
  74. data/docs/guides/how-react-on-rails-works.md +0 -44
  75. data/docs/guides/how-to-conditionally-server-render-based-on-device-type.md +0 -40
  76. data/docs/guides/how-to-use-different-files-for-client-and-server-rendering.md +0 -98
  77. data/docs/guides/i18n.md +0 -87
  78. data/docs/guides/installation-into-an-existing-rails-app.md +0 -66
  79. data/docs/guides/minitest-configuration.md +0 -31
  80. data/docs/guides/rails-webpacker-react-integration-options.md +0 -213
  81. data/docs/guides/react-on-rails-overview.md +0 -29
  82. data/docs/guides/react-server-rendering.md +0 -32
  83. data/docs/guides/render-functions-and-railscontext.md +0 -205
  84. data/docs/guides/rspec-configuration.md +0 -73
  85. data/docs/guides/tutorial.md +0 -371
  86. data/docs/guides/upgrading-react-on-rails.md +0 -304
  87. data/docs/guides/webpack-configuration.md +0 -42
  88. data/docs/home.md +0 -23
  89. data/docs/javascript/angular-js-integration-migration.md +0 -28
  90. data/docs/javascript/asset-pipeline.md +0 -12
  91. data/docs/javascript/capistrano-deployment.md +0 -18
  92. data/docs/javascript/code-splitting.md +0 -165
  93. data/docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md +0 -10
  94. data/docs/javascript/credits.md +0 -10
  95. data/docs/javascript/foreman-issues.md +0 -15
  96. data/docs/javascript/images.md +0 -57
  97. data/docs/javascript/node-dependencies-and-npm.md +0 -19
  98. data/docs/javascript/react-and-redux.md +0 -36
  99. data/docs/javascript/react-helmet.md +0 -100
  100. data/docs/javascript/react-router.md +0 -90
  101. data/docs/javascript/server-rendering-tips.md +0 -55
  102. data/docs/javascript/troubleshooting-when-using-shakapacker.md +0 -77
  103. data/docs/javascript/troubleshooting-when-using-webpacker.md +0 -90
  104. data/docs/javascript/webpack-v1-notes.md +0 -23
  105. data/docs/javascript/webpack.md +0 -22
  106. data/docs/misc/articles.md +0 -20
  107. data/docs/misc/code_of_conduct.md +0 -13
  108. data/docs/misc/doctrine.md +0 -77
  109. data/docs/misc/style.md +0 -33
  110. data/docs/misc/tips.md +0 -10
  111. data/docs/outdated/deferred-rendering.md +0 -39
  112. data/docs/outdated/rails-assets-relative-paths.md +0 -195
  113. data/docs/outdated/rails-assets.md +0 -77
  114. data/docs/outdated/rails3.md +0 -9
  115. data/docs/rails/convert-rails-5-api-only-app.md +0 -19
  116. data/docs/rails/rails-engine-integration.md +0 -32
  117. data/docs/rails/rails_view_rendering_from_inline_javascript.md +0 -36
  118. data/docs/rails/turbolinks.md +0 -124
  119. data/docs/react-on-rails-pro/react-on-rails-pro.md +0 -43
  120. data/docs/testimonials/hvmn.md +0 -25
  121. data/docs/testimonials/resortpass.md +0 -13
  122. data/docs/testimonials/testimonials.md +0 -28
  123. data/jest.config.js +0 -4
  124. data/package-scripts.yml +0 -49
  125. data/package.json +0 -96
  126. data/rakelib/docker.rake +0 -26
  127. data/rakelib/dummy_apps.rake +0 -30
  128. data/rakelib/example_type.rb +0 -96
  129. data/rakelib/examples.rake +0 -64
  130. data/rakelib/examples_config.yml +0 -14
  131. data/rakelib/lint.rake +0 -30
  132. data/rakelib/node_package.rake +0 -15
  133. data/rakelib/release.rake +0 -92
  134. data/rakelib/run_rspec.rake +0 -103
  135. data/rakelib/task_helpers.rb +0 -62
  136. data/script/bootstrap +0 -33
  137. data/script/release +0 -3
  138. data/script/setup +0 -23
  139. data/script/test +0 -38
  140. data/webpackConfigLoader.js +0 -71
  141. data/yarn.lock +0 -7010
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: react_on_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.4.0
4
+ version: 14.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Gordon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-31 00:00:00.000000000 Z
11
+ date: 2024-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.0'
83
- - !ruby/object:Gem::Dependency
84
- name: bundler
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '2'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '2'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: gem-release
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -115,28 +101,6 @@ executables: []
115
101
  extensions: []
116
102
  extra_rdoc_files: []
117
103
  files:
118
- - ".bookignore"
119
- - ".circleci/config.yml"
120
- - ".coveralls.yml"
121
- - ".dockerignore"
122
- - ".eslintignore"
123
- - ".eslintrc"
124
- - ".github/FUNDING.yml"
125
- - ".github/ISSUE_TEMPLATE/bug_report.md"
126
- - ".github/ISSUE_TEMPLATE/feature_request.md"
127
- - ".github/PULL_REQUEST_TEMPLATE.md"
128
- - ".github/workflows/lint-js-and-ruby.yml"
129
- - ".github/workflows/main.yml"
130
- - ".github/workflows/package-js-tests.yml"
131
- - ".github/workflows/rspec-package-specs.yml"
132
- - ".gitignore"
133
- - ".npmignore"
134
- - ".prettierignore"
135
- - ".prettierrc"
136
- - ".rspec"
137
- - ".rubocop.yml"
138
- - ".scss-lint.yml"
139
- - ".travis.yml"
140
104
  - CHANGELOG.md
141
105
  - CONTRIBUTING.md
142
106
  - Dockerfile_tests
@@ -151,81 +115,7 @@ files:
151
115
  - Rakefile
152
116
  - SUMMARY.md
153
117
  - app/helpers/react_on_rails_helper.rb
154
- - book.json
155
118
  - docker-compose.yml
156
- - docs/additional-details/generator-details.md
157
- - docs/additional-details/manual-installation-overview.md
158
- - docs/additional-details/migrating-from-react-rails.md
159
- - docs/additional-details/recommended-project-structure.md
160
- - docs/additional-details/tips-for-usage-with-sp6.md
161
- - docs/additional-details/updating-dependencies.md
162
- - docs/additional-details/upgrade-webpacker-v3-to-v4.md
163
- - docs/api/javascript-api.md
164
- - docs/api/redux-store-api.md
165
- - docs/api/view-helpers-api.md
166
- - docs/contributor-info/errors-with-hooks.md
167
- - docs/contributor-info/generator-testing.md
168
- - docs/contributor-info/linters.md
169
- - docs/contributor-info/pull-requests.md
170
- - docs/contributor-info/releasing.md
171
- - docs/deployment/elastic-beanstalk.md
172
- - docs/deployment/heroku-deployment.md
173
- - docs/getting-started.md
174
- - docs/guides/client-vs-server-rendering.md
175
- - docs/guides/configuration.md
176
- - docs/guides/deployment.md
177
- - docs/guides/file-system-based-automated-bundle-generation.md
178
- - docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
179
- - docs/guides/how-react-on-rails-works.md
180
- - docs/guides/how-to-conditionally-server-render-based-on-device-type.md
181
- - docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
182
- - docs/guides/i18n.md
183
- - docs/guides/installation-into-an-existing-rails-app.md
184
- - docs/guides/minitest-configuration.md
185
- - docs/guides/rails-webpacker-react-integration-options.md
186
- - docs/guides/react-on-rails-overview.md
187
- - docs/guides/react-server-rendering.md
188
- - docs/guides/render-functions-and-railscontext.md
189
- - docs/guides/rspec-configuration.md
190
- - docs/guides/tutorial.md
191
- - docs/guides/upgrading-react-on-rails.md
192
- - docs/guides/webpack-configuration.md
193
- - docs/home.md
194
- - docs/javascript/angular-js-integration-migration.md
195
- - docs/javascript/asset-pipeline.md
196
- - docs/javascript/capistrano-deployment.md
197
- - docs/javascript/code-splitting.md
198
- - docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
199
- - docs/javascript/credits.md
200
- - docs/javascript/foreman-issues.md
201
- - docs/javascript/images.md
202
- - docs/javascript/node-dependencies-and-npm.md
203
- - docs/javascript/react-and-redux.md
204
- - docs/javascript/react-helmet.md
205
- - docs/javascript/react-router.md
206
- - docs/javascript/server-rendering-tips.md
207
- - docs/javascript/troubleshooting-when-using-shakapacker.md
208
- - docs/javascript/troubleshooting-when-using-webpacker.md
209
- - docs/javascript/webpack-v1-notes.md
210
- - docs/javascript/webpack.md
211
- - docs/misc/articles.md
212
- - docs/misc/code_of_conduct.md
213
- - docs/misc/doctrine.md
214
- - docs/misc/style.md
215
- - docs/misc/tips.md
216
- - docs/outdated/deferred-rendering.md
217
- - docs/outdated/rails-assets-relative-paths.md
218
- - docs/outdated/rails-assets.md
219
- - docs/outdated/rails3.md
220
- - docs/rails/convert-rails-5-api-only-app.md
221
- - docs/rails/rails-engine-integration.md
222
- - docs/rails/rails_view_rendering_from_inline_javascript.md
223
- - docs/rails/turbolinks.md
224
- - docs/react-on-rails-pro/react-on-rails-pro.md
225
- - docs/testimonials/hvmn.md
226
- - docs/testimonials/resortpass.md
227
- - docs/testimonials/testimonials.md
228
- - jest.config.js
229
119
  - lib/generators/USAGE
230
120
  - lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb
231
121
  - lib/generators/react_on_rails/base_generator.rb
@@ -302,26 +192,8 @@ files:
302
192
  - lib/tasks/assets.rake
303
193
  - lib/tasks/generate_packs.rake
304
194
  - lib/tasks/locale.rake
305
- - package-scripts.yml
306
- - package.json
307
- - rakelib/docker.rake
308
- - rakelib/dummy_apps.rake
309
- - rakelib/example_type.rb
310
- - rakelib/examples.rake
311
- - rakelib/examples_config.yml
312
- - rakelib/lint.rake
313
- - rakelib/node_package.rake
314
- - rakelib/release.rake
315
- - rakelib/run_rspec.rake
316
- - rakelib/task_helpers.rb
317
195
  - react_on_rails.gemspec
318
- - script/bootstrap
319
- - script/release
320
- - script/setup
321
- - script/test
322
196
  - tsconfig.json
323
- - webpackConfigLoader.js
324
- - yarn.lock
325
197
  homepage: https://github.com/shakacode/react_on_rails
326
198
  licenses:
327
199
  - MIT
@@ -340,14 +212,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
340
212
  requirements:
341
213
  - - ">="
342
214
  - !ruby/object:Gem::Version
343
- version: 2.7.0
215
+ version: 3.0.0
344
216
  required_rubygems_version: !ruby/object:Gem::Requirement
345
217
  requirements:
346
218
  - - ">="
347
219
  - !ruby/object:Gem::Version
348
220
  version: '0'
349
221
  requirements: []
350
- rubygems_version: 3.2.32
222
+ rubygems_version: 3.4.21
351
223
  signing_key:
352
224
  specification_version: 4
353
225
  summary: Rails with react server rendering with webpack.
data/.bookignore DELETED
@@ -1,15 +0,0 @@
1
- # Directories to ignore
2
- app/*
3
- gen-examples/*
4
- lib/*
5
- node_package/"
6
- rakelib/*
7
- script/*
8
- spec/*
9
-
10
- # files in repo root to ignore
11
- Gemfile
12
- package.json
13
- Rakefile
14
- react_on_rails.gemspec
15
- ruby-lint.yml
data/.circleci/config.yml DELETED
@@ -1,338 +0,0 @@
1
- # CircleCI is not longer in use by this repository & this file is now for reference only.
2
- version: 2
3
-
4
- aliases:
5
- - &docker-image
6
- - image: circleci/ruby:2.7-node-browsers
7
-
8
- # Print critical data and executables versions.
9
- - &print-system-info
10
- name: Print system information
11
- command: |
12
- echo "Linux release: "; cat /etc/issue
13
- echo "Current user: "; whoami
14
- echo "Current directory: "; pwd
15
- echo "Ruby version: "; ruby -v
16
- echo "Node version: "; node -v
17
- echo "Yarn version: "; yarn --version
18
- echo "Bundler version: "; bundle --version
19
- - &lint-js
20
- name: Linting of JS
21
- command: yarn start lint
22
-
23
- - &lint-ruby
24
- name: Linting of Ruby
25
- command: bundle exec rubocop
26
-
27
- - &format
28
- name: Check formatting
29
- command: yarn start format.listDifferent
30
-
31
- # Install/update Node modules for renderer package unless existing set of modules is satisfying Yarn.
32
- - &install-package-node-modules
33
- name: Install Node modules with Yarn for renderer package
34
- command: |
35
- sudo yarn global add yalc
36
- yarn install --no-progress --no-emoji
37
- yarn run eslint -v
38
-
39
- # Install/update Node modules for dummy app unless existing set of modules is satisfying Yarn.
40
- - &install-dummy-app-node-modules
41
- name: Install Node modules with Yarn for dummy app
42
- command: cd spec/dummy && yarn install --no-progress --no-emoji
43
-
44
- # Setup yarn links for react-on-rails
45
- - &install-yalc-publish
46
- name: yalc publish for react-on-rails
47
- command: yalc publish
48
-
49
- - &install-yalc-add-react-on-rails
50
- name: yalc add react-on-rails
51
- command: cd spec/dummy && yalc add react-on-rails
52
-
53
- # Install ruby gems unless existing set of gems is satisfying bundler.
54
- - &install-dummy-app-ruby-gems
55
- name: Install Ruby Gems for dummy app
56
- command: |
57
- gem install bundler:2.4.17
58
- echo "Bundler version: "; bundle --version
59
- cd spec/dummy && bundle lock --add-platform 'x86_64-linux' && bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
60
-
61
- # Install ruby gems unless existing set of gems is satisfying bundler.
62
- - &install-package-ruby-gems
63
- name: Install Ruby Gems for package
64
- command: |
65
- gem install bundler:2.4.17
66
- echo "Bundler version: "; bundle --version
67
- bundle lock --add-platform 'x86_64-linux'
68
- bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
69
-
70
- # Restore node_modules dir from cache using yarn.lock checksum as a key.
71
- - &restore-package-node-modules-cache
72
- name: Restore cached node_modules directory
73
- keys:
74
- - v5-package-node-modules-cache-{{ checksum "yarn.lock" }}
75
-
76
- # Restore spec/dummy/node_modules dir from cache using yarn.lock checksum as a key.
77
- - &restore-dummy-app-node-modules-cache
78
- name: Restore cached spec/dummy/node_modules directory
79
- keys:
80
- - v5-dummy-app-node-modules-cache-{{ checksum "spec/dummy/yarn.lock" }}
81
-
82
- # Restore vendor/bundle dir from cache using Gemfile.lock checksum as a key.
83
- - &restore-dummy-app-gem-cache
84
- name: Restore cached Ruby Gems for dummy app
85
- keys:
86
- - v5-dummy-app-gem-cache-{{ checksum "spec/dummy/Gemfile.lock" }}
87
-
88
- # Restore vendor/bundle dir from cache using react_on_rails.gemspec checksum as a key.
89
- - &restore-package-gem-cache
90
- name: Restore cached Ruby Gems for package
91
- keys:
92
- - v5-package-app-gem-cache-{{ checksum "react_on_rails.gemspec" }}
93
-
94
- # NOTE: Sometimes CI generated docker images are not updated in time to keep up with the minimum required
95
- # by chromedriver versions of Chrome. Just bump here Chrome version if chromedriver raises errors
96
- - &install-latest-chrome
97
- name: Ensure minimum required Chrome version
98
- command: |
99
- echo -e "Installed $(google-chrome --version)\n"
100
- MINIMUM_REQUIRED_CHROME_VERSION=75
101
- INSTALLED_CHROME_MAJOR_VERSION="$(google-chrome --version | tr ' .' '\t' | cut -f3)"
102
- if [[ $INSTALLED_CHROME_MAJOR_VERSION < $MINIMUM_REQUIRED_CHROME_VERSION ]]; then
103
- wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
104
- sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
105
- sudo apt-get update
106
- sudo apt-get install google-chrome-stable
107
- echo -e "\nInstalled $(google-chrome --version)"
108
- fi
109
-
110
- jobs:
111
- # Lint all
112
- lint-js-and-ruby:
113
- docker: *docker-image
114
- steps:
115
- - checkout
116
- - run: *print-system-info
117
- - restore_cache: *restore-package-node-modules-cache
118
- - restore_cache: *restore-package-gem-cache
119
- - run: *install-package-ruby-gems
120
- - run: *lint-ruby
121
- - run: *lint-js
122
- - run: *format
123
-
124
- prettier:
125
- docker: *docker-image
126
- parallelism: 1
127
- steps:
128
- - checkout
129
- - restore_cache: *restore-package-node-modules-cache
130
- - run:
131
- name: prettier
132
- command: yarn start format.listDifferent
133
-
134
- # Install Node modules for Renderer package with Yarn and save them to chache.
135
- install-package-node-packages:
136
- docker: *docker-image
137
- steps:
138
- - checkout
139
- - run: *print-system-info
140
- - restore_cache: *restore-package-node-modules-cache
141
- - run: *install-package-node-modules
142
- - save_cache:
143
- name: Save root node_modules to cache
144
- key: v5-package-node-modules-cache-{{ checksum "yarn.lock" }}
145
- paths:
146
- - node_modules
147
-
148
-
149
- # Install Node modules for dummy app with Yarn and save them to cache.
150
- install-dummy-app-node-packages:
151
- docker: *docker-image
152
- steps:
153
- - checkout
154
- - run: *print-system-info
155
- - restore_cache: *restore-dummy-app-node-modules-cache
156
- - run: *install-package-node-modules
157
- - run: *install-yalc-publish
158
- - run: *install-yalc-add-react-on-rails
159
- - run: *install-dummy-app-node-modules
160
- - save_cache:
161
- name: Save spec/dummy/node_modules to cache
162
- key: v5-dummy-app-node-modules-cache-{{ checksum "spec/dummy/yarn.lock" }}
163
- paths:
164
- - spec/dummy/node_modules
165
- - spec/dummy/node_modules
166
-
167
- # Install Ruby gems for package with Bundler and save them to cache.
168
- install-package-ruby-gems:
169
- docker: *docker-image
170
- steps:
171
- - checkout
172
- - run: *print-system-info
173
- - restore_cache: *restore-package-gem-cache
174
- - run: *install-package-ruby-gems
175
- - save_cache:
176
- name: Save dummy app ruby gems to cache
177
- key: v5-package-app-gem-cache-{{ checksum "react_on_rails.gemspec" }}
178
- paths:
179
- - vendor/bundle
180
-
181
- # Install Ruby gems for dummy app with Bundler and save them to cache.
182
- install-dummy-app-ruby-gems:
183
- docker: *docker-image
184
- steps:
185
- - checkout
186
- - run: *print-system-info
187
- - restore_cache: *restore-dummy-app-gem-cache
188
- - run: *install-dummy-app-ruby-gems
189
- - save_cache:
190
- name: Save dummy app ruby gems to cache
191
- key: v5-dummy-app-gem-cache-{{ checksum "spec/dummy/Gemfile.lock" }}
192
- paths:
193
- - spec/dummy/vendor/bundle
194
-
195
- # Build client and server bundles for dummy app with Webpack and save them to cache.
196
- # NOTE: keeping around this cache in case we have multiple rspec suites in the future to tests
197
- # different node renderers.
198
- build-dummy-app-webpack-test-bundles:
199
- docker: *docker-image
200
- steps:
201
- - checkout
202
- - run: *print-system-info
203
- - run: *install-package-node-modules
204
- - run: *install-yalc-publish
205
- - restore_cache: *restore-dummy-app-node-modules-cache
206
- - run: *install-yalc-add-react-on-rails
207
- - run: *install-dummy-app-node-modules
208
- - run: *install-dummy-app-ruby-gems
209
- - run:
210
- name: generate file system-based packs
211
- command: cd spec/dummy && bundle exec rake react_on_rails:generate_packs
212
- - run:
213
- name: Build test bundles for dummy app
214
- command: cd spec/dummy && yarn run build:test
215
- - save_cache:
216
- name: Save test webpack bundles to cache (for build number checksum used by rspec job)
217
- key: v5-dummy-app-webpack-bundle-{{ .Revision }}
218
- paths:
219
- - spec/dummy/public/webpack
220
- # Run JS unit tests for Renderer package.
221
- package-js-tests:
222
- docker: *docker-image
223
- steps:
224
- - checkout
225
- - run: *print-system-info
226
- - restore_cache: *restore-package-node-modules-cache
227
- - run: *install-package-node-modules
228
- - run:
229
- name: Run JS unit tests for Renderer package
230
- command: yarn test
231
-
232
- rspec-package-specs:
233
- docker: *docker-image
234
- steps:
235
- - checkout
236
- - run: *print-system-info
237
- - restore_cache: *restore-package-gem-cache
238
- - run: *install-package-ruby-gems
239
- - run:
240
- name: Run rspec tests
241
- command: |
242
- bundle exec rspec spec/react_on_rails
243
- - store_test_results:
244
- path: ~/rspec
245
- - store_artifacts:
246
- path: log/test.log
247
-
248
- main:
249
- docker: *docker-image
250
- steps:
251
- - checkout
252
- - run: *print-system-info
253
- - restore_cache: *restore-package-gem-cache
254
- - restore_cache: *restore-dummy-app-gem-cache
255
- - restore_cache:
256
- name: Restore cached webpack bundles for dummy app
257
- key: v5-dummy-app-webpack-bundle-{{ .Revision }}
258
- - restore_cache: *restore-dummy-app-node-modules-cache
259
- - restore_cache: *restore-package-node-modules-cache
260
- - run: *install-package-node-modules
261
- - run: *install-yalc-publish
262
- - run: *install-yalc-add-react-on-rails
263
- - run: *install-package-ruby-gems
264
- - run: *install-dummy-app-ruby-gems
265
- - run: *install-latest-chrome
266
- - run:
267
- name: Touch webpack bundles
268
- command: touch spec/dummy/public/webpack/test/*
269
- - run:
270
- name: Install yalc globally
271
- command: sudo yarn global add yalc
272
- - run:
273
- name: Prep for CI
274
- # TODO -- need to leverage Circle CI containers
275
- command: |
276
- bundle exec rake prepare_for_ci
277
- - run:
278
- name: Main CI
279
- # TODO -- need to leverage Circle CI containers
280
- command: |
281
- bundle exec rake run_rspec:all_dummy
282
- # The following step will run only if the main job is finished successfully.
283
- # Build hook is triggered by curl command described here https://docs.netlify.com/configure-builds/build-hooks/
284
- # NETLIFY_HOOK is an environment variable on CircleCI to keep sensitive data outside the repo
285
- - run:
286
- name: Deploy SC website
287
- command: |
288
- if [ $CIRCLE_BRANCH = "master" ]; then
289
- curl -X POST -d '{}' ${NETLIFY_HOOK}
290
- fi
291
- when: on_success
292
- - store_test_results:
293
- path: ~/rspec
294
- - store_artifacts:
295
- path: spec/dummy/tmp/capybara
296
- - store_artifacts:
297
- path: spec/dummy/tmp/screenshots
298
- - store_artifacts:
299
- path: spec/dummy/log/test.log
300
- - store_artifacts:
301
- path: spec/dummy/yarn-error.log
302
-
303
- workflows:
304
- version: 2
305
- build-and-test:
306
- jobs:
307
- - install-package-node-packages
308
- - install-package-ruby-gems
309
- - install-dummy-app-node-packages
310
- - install-dummy-app-ruby-gems
311
- - lint-js-and-ruby:
312
- requires:
313
- - install-package-node-packages
314
- - install-package-ruby-gems
315
- - prettier:
316
- filters:
317
- branches:
318
- ignore: master
319
- requires:
320
- - install-package-node-packages
321
- - build-dummy-app-webpack-test-bundles:
322
- requires:
323
- - install-dummy-app-node-packages
324
- - install-dummy-app-ruby-gems
325
- - package-js-tests:
326
- requires:
327
- - install-package-node-packages
328
- - rspec-package-specs:
329
- requires:
330
- - install-package-ruby-gems
331
- - build-dummy-app-webpack-test-bundles
332
- - install-dummy-app-ruby-gems
333
- - main:
334
- requires:
335
- - install-package-ruby-gems
336
- - install-dummy-app-ruby-gems
337
- - install-package-node-packages
338
- - build-dummy-app-webpack-test-bundles
data/.coveralls.yml DELETED
@@ -1 +0,0 @@
1
- service_name: travis-ci
data/.dockerignore DELETED
@@ -1,2 +0,0 @@
1
- coverage/
2
- docker-compose.yml
data/.eslintignore DELETED
@@ -1,17 +0,0 @@
1
- node_modules
2
- coverage
3
- spec/react_on_rails/dummy-for-generators
4
- spec/dummy
5
- node_package/lib/
6
- node_package/tests/node_modules
7
- node_package/webpack.config.js
8
- **/node_modules/**
9
- **/assets/webpack/**
10
- **/public/webpack/**
11
- **/generated/**
12
- **/app/assets/javascripts/application.js
13
- **/coverage/**
14
- **/cable.js
15
- **/public/packs*/*
16
- gen-examples
17
- bundle/
data/.eslintrc DELETED
@@ -1,53 +0,0 @@
1
- extends:
2
- - eslint-config-shakacode
3
- - prettier
4
- - prettier/react
5
-
6
- plugins:
7
- - prettier
8
-
9
- globals:
10
- __DEBUG_SERVER_ERRORS__: true
11
- __SERVER_ERRORS__: true
12
-
13
- env:
14
- browser: true
15
- node: true
16
- mocha: true
17
- jest: true
18
-
19
- overrides:
20
- - files: ["**/*.ts", "**/*.tsx"]
21
- parser: "@typescript-eslint/parser"
22
- parserOptions:
23
- ecmaVersion: 2018
24
- sourceType: module
25
- project: "./tsconfig.json"
26
- extends:
27
- - eslint:recommended
28
- - plugin:@typescript-eslint/eslint-recommended
29
- - plugin:@typescript-eslint/recommended
30
- plugins:
31
- - "@typescript-eslint"
32
- rules:
33
- "@typescript-eslint/no-namespace": 0
34
- "@typescript-eslint/no-shadow": ["error"]
35
-
36
- rules:
37
- no-shadow: 0
38
- no-console: 0
39
- function-paren-newline: 0
40
- object-curly-newline: 0
41
- no-restricted-syntax: ["error", "SequenceExpression"]
42
- # https://stackoverflow.com/a/59268871/5241481
43
- import/extensions: ['error', 'ignorePackages', {"js": 'never',"ts": "never"}]
44
-
45
- # https://github.com/benmosher/eslint-plugin-import/issues/340
46
- import/no-extraneous-dependencies: 0
47
-
48
- settings:
49
- import/core-modules:
50
- - react-redux
51
- import/resolver:
52
- node:
53
- extensions: [".js", ".ts", ".d.ts"]
data/.github/FUNDING.yml DELETED
@@ -1 +0,0 @@
1
- github: [shakacode]
@@ -1,23 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- A bug is a crash or incorrect behavior. If you have a debugging or troubleshooting question, please open [a discussion](https://github.com/shakacode/react_on_rails/discussions).
11
-
12
- ## Environment
13
-
14
- 1. Ruby version:
15
- 2. Rails version:
16
- 3. Shakapacker/Webpacker version:
17
- 4. React on Rails version:
18
-
19
- ## Expected behavior
20
-
21
- ## Actual behavior
22
-
23
- ## Small, reproducible repo
@@ -1,20 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- **Is your feature request related to a problem? Please describe.**
11
- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
-
13
- **Describe the solution you'd like**
14
- A clear and concise description of what you want to happen.
15
-
16
- **Describe alternatives you've considered**
17
- A clear and concise description of any alternative solutions or features you've considered.
18
-
19
- **Additional context**
20
- Add any other context or screenshots about the feature request here.
@@ -1,19 +0,0 @@
1
- ### Summary
2
-
3
- _Remove this paragraph and provide a general description of the code changes in your pull
4
- request... were there any bugs you had fixed? If so, mention them. If
5
- these bugs have open GitHub issues, be sure to tag them here as well,
6
- to keep the conversation linked together._
7
-
8
- ### Pull Request checklist
9
- _Remove this line after checking all the items here. If the item is not applicable to the PR, both check it out and wrap it by `~`._
10
-
11
- - [ ] Add/update test to cover these changes
12
- - [ ] Update documentation
13
- - [ ] Update CHANGELOG file
14
- _Add the CHANGELOG entry at the top of the file._
15
-
16
- ### Other Information
17
-
18
- _Remove this paragraph and mention any other important and relevant information such as benchmarks._
19
-