react_on_rails 13.3.5 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +100 -62
- data/Gemfile.development_dependencies +10 -9
- data/README.md +7 -2
- data/lib/generators/react_on_rails/adapt_for_older_shakapacker_generator.rb +41 -0
- data/lib/generators/react_on_rails/base_generator.rb +13 -49
- data/lib/generators/react_on_rails/dev_tests_generator.rb +1 -1
- data/lib/generators/react_on_rails/generator_messages.rb +40 -0
- data/lib/generators/react_on_rails/install_generator.rb +21 -0
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev +2 -2
- data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-static +2 -2
- data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +2 -2
- data/lib/generators/react_on_rails/templates/base/base/config/{webpacker.yml → shakapacker.yml} +3 -3
- data/lib/generators/react_on_rails/templates/base/base/config/webpack/commonWebpackConfig.js.tt +3 -1
- data/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +2 -2
- data/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb +1 -1
- data/lib/react_on_rails/configuration.rb +39 -25
- data/lib/react_on_rails/git_utils.rb +3 -3
- data/lib/react_on_rails/helper.rb +25 -13
- data/lib/react_on_rails/json_output.rb +0 -17
- data/lib/react_on_rails/locales/base.rb +4 -4
- data/lib/react_on_rails/locales/to_js.rb +1 -1
- data/lib/react_on_rails/packs_generator.rb +4 -4
- data/lib/react_on_rails/react_component/render_options.rb +1 -1
- data/lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb +10 -12
- data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +3 -3
- data/lib/react_on_rails/test_helper.rb +2 -2
- data/lib/react_on_rails/utils.rb +2 -8
- data/lib/react_on_rails/version.rb +1 -1
- data/lib/react_on_rails/version_checker.rb +2 -2
- data/lib/react_on_rails/webpacker_utils.rb +6 -0
- data/lib/tasks/assets.rake +1 -1
- data/react_on_rails.gemspec +4 -4
- metadata +6 -131
- data/.bookignore +0 -15
- data/.circleci/config.yml +0 -338
- data/.coveralls.yml +0 -1
- data/.dockerignore +0 -2
- data/.eslintignore +0 -17
- data/.eslintrc +0 -53
- data/.github/FUNDING.yml +0 -1
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -23
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -19
- data/.github/workflows/lint-js-and-ruby.yml +0 -54
- data/.github/workflows/main.yml +0 -183
- data/.github/workflows/package-js-tests.yml +0 -35
- data/.github/workflows/rspec-package-specs.yml +0 -46
- data/.gitignore +0 -33
- data/.npmignore +0 -22
- data/.prettierignore +0 -14
- data/.prettierrc +0 -20
- data/.rspec +0 -2
- data/.rubocop.yml +0 -134
- data/.scss-lint.yml +0 -205
- data/.travis.yml +0 -61
- data/book.json +0 -18
- data/docs/additional-details/generator-details.md +0 -56
- data/docs/additional-details/manual-installation-overview.md +0 -30
- data/docs/additional-details/migrating-from-react-rails.md +0 -17
- data/docs/additional-details/recommended-project-structure.md +0 -69
- data/docs/additional-details/updating-dependencies.md +0 -31
- data/docs/additional-details/upgrade-webpacker-v3-to-v4.md +0 -10
- data/docs/api/javascript-api.md +0 -99
- data/docs/api/redux-store-api.md +0 -102
- data/docs/api/view-helpers-api.md +0 -133
- data/docs/contributor-info/errors-with-hooks.md +0 -45
- data/docs/contributor-info/generator-testing.md +0 -11
- data/docs/contributor-info/linters.md +0 -68
- data/docs/contributor-info/pull-requests.md +0 -42
- data/docs/contributor-info/releasing.md +0 -76
- data/docs/deployment/elastic-beanstalk.md +0 -63
- data/docs/deployment/heroku-deployment.md +0 -35
- data/docs/getting-started.md +0 -195
- data/docs/guides/client-vs-server-rendering.md +0 -27
- data/docs/guides/configuration.md +0 -289
- data/docs/guides/deployment.md +0 -5
- data/docs/guides/file-system-based-automated-bundle-generation.md +0 -205
- data/docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md +0 -104
- data/docs/guides/how-react-on-rails-works.md +0 -44
- data/docs/guides/how-to-conditionally-server-render-based-on-device-type.md +0 -40
- data/docs/guides/how-to-use-different-files-for-client-and-server-rendering.md +0 -98
- data/docs/guides/i18n.md +0 -87
- data/docs/guides/installation-into-an-existing-rails-app.md +0 -66
- data/docs/guides/minitest-configuration.md +0 -31
- data/docs/guides/rails-webpacker-react-integration-options.md +0 -213
- data/docs/guides/react-on-rails-overview.md +0 -30
- data/docs/guides/react-server-rendering.md +0 -32
- data/docs/guides/render-functions-and-railscontext.md +0 -205
- data/docs/guides/rspec-configuration.md +0 -73
- data/docs/guides/tutorial.md +0 -374
- data/docs/guides/upgrading-react-on-rails.md +0 -304
- data/docs/guides/webpack-configuration.md +0 -42
- data/docs/home.md +0 -23
- data/docs/javascript/angular-js-integration-migration.md +0 -28
- data/docs/javascript/asset-pipeline.md +0 -12
- data/docs/javascript/capistrano-deployment.md +0 -18
- data/docs/javascript/code-splitting.md +0 -165
- data/docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md +0 -10
- data/docs/javascript/credits.md +0 -10
- data/docs/javascript/foreman-issues.md +0 -15
- data/docs/javascript/images.md +0 -57
- data/docs/javascript/node-dependencies-and-npm.md +0 -19
- data/docs/javascript/react-and-redux.md +0 -36
- data/docs/javascript/react-helmet.md +0 -100
- data/docs/javascript/react-router.md +0 -90
- data/docs/javascript/server-rendering-tips.md +0 -55
- data/docs/javascript/troubleshooting-when-using-webpacker.md +0 -90
- data/docs/javascript/webpack-v1-notes.md +0 -23
- data/docs/javascript/webpack.md +0 -22
- data/docs/misc/articles.md +0 -20
- data/docs/misc/code_of_conduct.md +0 -13
- data/docs/misc/doctrine.md +0 -77
- data/docs/misc/style.md +0 -33
- data/docs/misc/tips.md +0 -10
- data/docs/outdated/deferred-rendering.md +0 -39
- data/docs/outdated/rails-assets-relative-paths.md +0 -195
- data/docs/outdated/rails-assets.md +0 -77
- data/docs/outdated/rails3.md +0 -9
- data/docs/rails/convert-rails-5-api-only-app.md +0 -19
- data/docs/rails/rails-engine-integration.md +0 -32
- data/docs/rails/rails_view_rendering_from_inline_javascript.md +0 -36
- data/docs/rails/turbolinks.md +0 -124
- data/docs/react-on-rails-pro/react-on-rails-pro.md +0 -43
- data/docs/testimonials/hvmn.md +0 -25
- data/docs/testimonials/resortpass.md +0 -13
- data/docs/testimonials/testimonials.md +0 -28
- data/jest.config.js +0 -4
- data/package-scripts.yml +0 -49
- data/package.json +0 -96
- data/rakelib/docker.rake +0 -26
- data/rakelib/dummy_apps.rake +0 -30
- data/rakelib/example_type.rb +0 -96
- data/rakelib/examples.rake +0 -64
- data/rakelib/examples_config.yml +0 -14
- data/rakelib/lint.rake +0 -30
- data/rakelib/node_package.rake +0 -15
- data/rakelib/release.rake +0 -92
- data/rakelib/run_rspec.rake +0 -103
- data/rakelib/task_helpers.rb +0 -62
- data/script/bootstrap +0 -33
- data/script/release +0 -3
- data/script/setup +0 -23
- data/script/test +0 -38
- data/webpackConfigLoader.js +0 -71
- data/yarn.lock +0 -7010
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 37cf3a6fba0b83dec923947d8cc8f883f3f4f8ff06c51760347bbe41a79ee35a
|
|
4
|
+
data.tar.gz: 522f25ca29ebd985f975d9f8dd7ab8947ef4ccacc7591f28db176b0c2964f444
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 873fc4c65b407b3982ef2761d0e5e346ef8eb04dc9468b074db188f641537634578b057b59a3b4b12135a988bd725207ded6a20e9b4a97ca42f39c31ea934928
|
|
7
|
+
data.tar.gz: 6f46192a308e4d636bbe954e3c34bc256aab07c9b42bf177c9254fde495e37726a46b285df1124ef2ebc859b2311cf77afca8bb16158f39a5eb9fec013d714b2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,67 +1,102 @@
|
|
|
1
1
|
# Change Log
|
|
2
|
-
All notable changes to this project's source code will be documented in this file. Items under `Unreleased` is upcoming features that will be out in next version.
|
|
2
|
+
All notable changes to this project's source code will be documented in this file. Items under `Unreleased` is upcoming features that will be out in the next version.
|
|
3
3
|
|
|
4
4
|
Migration instructions for the major updates can be found [here](https://www.shakacode.com/react-on-rails/docs/guides/upgrading-react-on-rails#upgrading-to-version-9.md). Some smaller migration information can be found here.
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## Want to Save Time Updating?
|
|
7
7
|
If you would like help in migrating between React on Rails versions or help with implementing server rendering, please contact [justin@shakacode.com](mailto:justin@shakacode.com) for information about our [React on Rails Pro Support Options](https://www.shakacode.com/react-on-rails-pro).
|
|
8
8
|
|
|
9
|
-
We specialize in helping companies
|
|
9
|
+
We specialize in helping companies quickly and efficiently update client-side dependencies, allowing developers to focus on features and bug fixes rather than addressing tech-debt from old dependencies. ShakaCode also maintains Shakapacker, the successor to Webpacker.
|
|
10
10
|
|
|
11
11
|
## Contributors
|
|
12
12
|
Please follow the recommendations outlined at [keepachangelog.com](http://keepachangelog.com/). Please use the existing headings and styling as a guide, and add a link for the version diff at the bottom of the file. Also, please update the `Unreleased` link to compare to the latest release version.
|
|
13
13
|
|
|
14
14
|
## Versions
|
|
15
15
|
### [Unreleased]
|
|
16
|
-
Changes since last non-beta release.
|
|
16
|
+
Changes since the last non-beta release.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
### [14.0.0] - 2024-04-03
|
|
19
|
+
_Major bump because dropping support for Ruby 2.7 and deprecated `webpackConfigLoader.js`._
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
#### Removed
|
|
22
|
+
- Dropped Ruby 2.7 support [PR 1595](https://github.com/shakacode/react_on_rails/pull/1595) by [ahangarha](https://github.com/ahangarha).
|
|
23
|
+
- Removed deprecated `webpackConfigLoader.js` [PR 1600](https://github.com/shakacode/react_on_rails/pull/1600) by [ahangarha](https://github.com/ahangarha).
|
|
24
|
+
|
|
25
|
+
#### Fixed
|
|
26
|
+
- Trimmed the Gem to remove package.json which could cause superflous security warnings. [PR 1605](https://github.com/shakacode/react_on_rails/pull/1605) by [justin808](https://github.com/justin808).
|
|
27
|
+
- Prevent displaying the deprecation message for using `webpacker_precompile?` method and `webpacker:clean` rake task when using Shakapacker v7+ [PR 1592](https://github.com/shakacode/react_on_rails/pull/1592) by [ahangarha](https://github.com/ahangarha).
|
|
28
|
+
|
|
29
|
+
### [13.4.1]
|
|
30
|
+
#### Fixed
|
|
31
|
+
- Fixed Typescript types for ServerRenderResult, ReactComponent, RenderFunction, and RailsContext interfaces. [PR 1582](https://github.com/shakacode/react_on_rails/pull/1582) & [PR 1585](https://github.com/shakacode/react_on_rails/pull/1585) by [kotarella1110](https://github.com/kotarella1110)
|
|
32
|
+
|
|
33
|
+
- Removed a workaround in `JsonOutput#escape` for an no-longer supported Rails version. Additionally, removed `Utils.rails_version_less_than_4_1_1`
|
|
34
|
+
which was only used in the workaround. [PR 1580](https://github.com/shakacode/react_on_rails/pull/1580) by [wwahammy](https://github.com/wwahammy)
|
|
35
|
+
|
|
36
|
+
#### Added
|
|
37
|
+
- Exposed TypeScript all types [PR 1586](https://github.com/shakacode/react_on_rails/pull/1586) by [kotarella1110](https://github.com/kotarella1110)
|
|
38
|
+
|
|
39
|
+
### [13.4.0] - 2023-07-30
|
|
40
|
+
#### Fixed
|
|
41
|
+
- Fixed Pack Generation logic during `assets:precompile` if `auto_load_bundle` is `false` & `components_subdirectory` is not set. [PR 1567](https://github.com/shakacode/react_on_rails/pull/1545) by [blackjack26](https://github.com/blackjack26) & [judahmeek](https://github.com/judahmeek).
|
|
42
|
+
|
|
43
|
+
#### Improved
|
|
44
|
+
- Improved performance by removing an unnecessary JS eval from Ruby. [PR 1544](https://github.com/shakacode/react_on_rails/pull/1544) by [wyattades](https://github.com/wyattades).
|
|
45
|
+
|
|
46
|
+
#### Added
|
|
47
|
+
- Added support for Shakapacker 7 in install generator [PR 1548](https://github.com/shakacode/react_on_rails/pull/1548) by [ahangarha](https://github.com/ahangarha).
|
|
48
|
+
|
|
49
|
+
#### Changed
|
|
50
|
+
- Throw error when attempting to redefine ReactOnRails. [PR 1562](https://github.com/shakacode/react_on_rails/pull/1562) by [rubenochiavone](https://github.com/rubenochiavone).
|
|
51
|
+
- Prevent generating FS-based packs when `component_subdirectory` configuration is not present. [PR 1567](https://github.com/shakacode/react_on_rails/pull/1567) by [blackjack26](https://github.com/blackjack26).
|
|
52
|
+
- Removed a requirement for autoloaded pack files to be generated as part of CI or deployment separate from initial Shakapacker bundling. [PR 1545](https://github.com/shakacode/react_on_rails/pull/1545) by [judahmeek](https://github.com/judahmeek).
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### [13.3.5] - 2023-05-31
|
|
21
56
|
#### Fixed
|
|
22
57
|
- Fixed race condition where a react component could attempt to initialize before it had been registered. [PR 1540](https://github.com/shakacode/react_on_rails/pull/1540) by [judahmeek](https://github.com/judahmeek).
|
|
23
58
|
|
|
24
|
-
### [13.3.4] -
|
|
59
|
+
### [13.3.4] - 2023-05-23
|
|
25
60
|
|
|
26
|
-
|
|
61
|
+
#### Added
|
|
27
62
|
- Improved functionality of Filesystem-based pack generation & auto-bundling. Added `make_generated_server_bundle_the_entrypoint` configuration key. [PR 1531](https://github.com/shakacode/react_on_rails/pull/1531) by [judahmeek](https://github.com/judahmeek).
|
|
28
63
|
|
|
29
|
-
|
|
64
|
+
#### Removed
|
|
30
65
|
- Removed unneeded `HMR=true` from `Procfile.dev` in install template [PR 1537](https://github.com/shakacode/react_on_rails/pull/1537) by [ahangarha](https://github.com/ahangarha).
|
|
31
66
|
|
|
32
|
-
### [13.3.3] -
|
|
67
|
+
### [13.3.3] - 2023-03-21
|
|
33
68
|
|
|
34
|
-
|
|
69
|
+
#### Fixed
|
|
35
70
|
- Fixed bug regarding loading FS-based packs. [PR 1527](https://github.com/shakacode/react_on_rails/pull/1527) by [judahmeek](https://github.com/judahmeek).
|
|
36
71
|
|
|
37
|
-
### [13.3.2] -
|
|
72
|
+
### [13.3.2] - 2023-02-24
|
|
38
73
|
|
|
39
|
-
|
|
74
|
+
#### Fixed
|
|
40
75
|
- Fixed the bug in `bin/dev` and `bin/dev-static` scripts by using `system` instead of `exec` and remove option to pass arguments [PR 1519](https://github.com/shakacode/react_on_rails/pull/1519) by [ahangarha](https://github.com/ahangarha).
|
|
41
76
|
|
|
42
|
-
### [13.3.1] -
|
|
43
|
-
|
|
77
|
+
### [13.3.1] - 2023-01-30
|
|
78
|
+
#### Added
|
|
44
79
|
- Optimized `ReactOnRails::TestHelper`'s RSpec integration using `when_first_matching_example_defined`. [PR 1496](https://github.com/shakacode/react_on_rails/pull/1496) by [mcls](https://github.com/mcls).
|
|
45
80
|
|
|
46
|
-
|
|
81
|
+
#### Fixed
|
|
47
82
|
- Fixed bug regarding FS-based packs generation. [PR 1515](https://github.com/shakacode/react_on_rails/pull/1515) by [pulkitkkr](https://github.com/pulkitkkr).
|
|
48
83
|
|
|
49
|
-
### [13.3.0] -
|
|
50
|
-
|
|
84
|
+
### [13.3.0] - 2023-01-29
|
|
85
|
+
#### Fixed
|
|
51
86
|
- Fixed pack not found warning while using `react_component` and `react_component_hash` helpers, even when corresponding chunks are present. [PR 1511](https://github.com/shakacode/react_on_rails/pull/1511) by [pulkitkkr](https://github.com/pulkitkkr).
|
|
52
87
|
- Fixed FS-based packs generation functionality to trigger pack generation on the creation of a new react component inside `components_subdirectory`. [PR 1506](https://github.com/shakacode/react_on_rails/pull/1506) by [pulkitkkr](https://github.com/pulkitkkr).
|
|
53
88
|
- Upgrade several JS dependencies to fix security issues. [PR 1514](https://github.com/shakacode/react_on_rails/pull/1514) by [ahangarha](https://github.com/ahangarha).
|
|
54
89
|
|
|
55
|
-
|
|
90
|
+
#### Added
|
|
56
91
|
- Added `./bin/dev` and `./bin/dev-static` executables to ease and standardize running the dev server. [PR 1491](https://github.com/shakacode/react_on_rails/pull/1491) by [ahangarha](https://github.com/ahangarha).
|
|
57
92
|
|
|
58
93
|
### [13.2.0] - 2022-12-23
|
|
59
94
|
|
|
60
|
-
|
|
95
|
+
#### Fixed
|
|
61
96
|
- Fix reactOnRailsPageUnloaded when there is no component on the page. Important for apps using both hotwire and react_on_rails. [PR 1498](https://github.com/shakacode/react_on_rails/pull/1498) by [NhanHo](https://github.com/NhanHo).
|
|
62
97
|
- Fixing wrong type. The throwIfMissing param of getStore should be optional as it defaults to true. [PR 1480](https://github.com/shakacode/react_on_rails/pull/1480) by [wouldntsavezion](https://github.com/wouldntsavezion).
|
|
63
98
|
|
|
64
|
-
|
|
99
|
+
#### Added
|
|
65
100
|
- Exposed `reactHydrateOrRender` utility via [PR 1481](https://github.com/shakacode/react_on_rails/pull/1481) by [vaukalak](https://github.com/vaukalak).
|
|
66
101
|
|
|
67
102
|
### [13.1.0] - 2022-08-20
|
|
@@ -109,16 +144,16 @@ Changes since last non-beta release.
|
|
|
109
144
|
|
|
110
145
|
### [12.6.0] - 2022-01-22
|
|
111
146
|
|
|
112
|
-
|
|
147
|
+
#### Added
|
|
113
148
|
- A `rendering_props_extension` configuration which takes a module with an `adjust_props_for_client_side_hydration` method, which is used to process props differently for server/client if `prerender` is set to `true`. [PR 1413](https://github.com/shakacode/react_on_rails/pull/1413) by [gscarv13](https://github.com/gscarv13) & [judahmeek](https://github.com/judahmeek).
|
|
114
149
|
|
|
115
150
|
### [12.5.2] - 2021-12-29
|
|
116
|
-
|
|
151
|
+
#### Fixed
|
|
117
152
|
- Usage of config.build_production_command for custom command for production builds fixed. [PR 1415](https://github.com/shakacode/react_on_rails/pull/1415) by [judahmeek](https://github.com/judahmeek).
|
|
118
153
|
|
|
119
154
|
### [12.5.1] - 2021-12-27
|
|
120
155
|
|
|
121
|
-
|
|
156
|
+
#### Fixed
|
|
122
157
|
- A fatal server rendering error if running an ReactOnRails >=12.4.0 with ReactOnRails Pro <2.4.0. [PR 1412](https://github.com/shakacode/react_on_rails/pull/1412) by [judahmeek](https://github.com/judahmeek).
|
|
123
158
|
|
|
124
159
|
### [12.5.0] - 2021-12-26
|
|
@@ -478,7 +513,7 @@ Moved to [our documentation](https://www.shakacode.com/react-on-rails/docs/guide
|
|
|
478
513
|
- Fixes GitUtils.uncommitted_changes? throwing an error when called in an environment without Git, and allows install generator to be run successfully with `--ignore-warnings` [#878](https://github.com/shakacode/react_on_rails/pull/878) by [jasonblalock](https://github.com/jasonblalock).
|
|
479
514
|
|
|
480
515
|
## [8.0.5] - 2017-07-04
|
|
481
|
-
|
|
516
|
+
#### Fixed
|
|
482
517
|
- Corrects `devBuild` value for webpack production build from webpackConfigLoader. [#877](https://github.com/shakacode/react_on_rails/pull/877) by [chenqingspring](https://github.com/chenqingspring).
|
|
483
518
|
- Remove contentBase deprecation warning message. [#878](https://github.com/shakacode/react_on_rails/pull/878) by [ened ](https://github.com/ened).
|
|
484
519
|
- Removes invalid reference to _railsContext in the generated files. [#886](https://github.com/shakacode/react_on_rails/pull/886) by [justin808](https://github.com/justin808).
|
|
@@ -487,11 +522,11 @@ Moved to [our documentation](https://www.shakacode.com/react-on-rails/docs/guide
|
|
|
487
522
|
*Note: 8.0.4 skipped.*
|
|
488
523
|
|
|
489
524
|
## [8.0.3] - 2017-06-19
|
|
490
|
-
|
|
525
|
+
#### Fixed
|
|
491
526
|
- Ruby 2.1 issue due to `<<~` as reported in [issue #870](https://github.com/shakacode/react_on_rails/issues/870). [#867](https://github.com/shakacode/react_on_rails/pull/867) by [justin808](https://github.com/justin808)
|
|
492
527
|
|
|
493
528
|
## [8.0.2] - 2017-06-04
|
|
494
|
-
|
|
529
|
+
#### Fixed
|
|
495
530
|
- Any failure in webpack to build test files quits tests.
|
|
496
531
|
- Fixed a Ruby 2.4 potential crash which could cause a crash due to pathname change in Ruby 2.4.
|
|
497
532
|
- CI Improvements:
|
|
@@ -502,7 +537,7 @@ Moved to [our documentation](https://www.shakacode.com/react-on-rails/docs/guide
|
|
|
502
537
|
- [#862](https://github.com/shakacode/react_on_rails/pull/862) by [justin808](https://github.com/justin808)
|
|
503
538
|
|
|
504
539
|
## [8.0.1] - 2017-05-30
|
|
505
|
-
|
|
540
|
+
#### Fixed
|
|
506
541
|
- Generator no longer modifies `assets.rb`. [#859](https://github.com/shakacode/react_on_rails/pull/859) by [justin808](https://github.com/justin808)
|
|
507
542
|
|
|
508
543
|
## [8.0.0] - 2017-05-29
|
|
@@ -515,21 +550,21 @@ Moved to [our documentation](https://www.shakacode.com/react-on-rails/docs/guide
|
|
|
515
550
|
- For a simple example of the webpacker_lite setup, run the basic generator.
|
|
516
551
|
|
|
517
552
|
## [8.0.0-beta.3] - 2017-05-27
|
|
518
|
-
|
|
553
|
+
#### Changed
|
|
519
554
|
- Major updates for WebpackerLite 2.0.2. [#844](https://github.com/shakacode/react_on_rails/pull/845) by [justin808](https://github.com/justin808) with help from ](https://github.com/robwise)
|
|
520
555
|
- Logging no longer occurs when trace is turned to false. [#845](https://github.com/shakacode/react_on_rails/pull/845) by [conturbo](https://github.com/Conturbo)
|
|
521
556
|
|
|
522
557
|
## [8.0.0-beta.2] - 2017-05-08
|
|
523
558
|
|
|
524
|
-
|
|
559
|
+
#### Changed
|
|
525
560
|
Removed unnecessary values in default paths.yml files for generators. [#834](https://github.com/shakacode/react_on_rails/pull/834) by [justin808](https://github.com/justin808).
|
|
526
561
|
|
|
527
562
|
## [8.0.0-beta.1] - 2017-05-03
|
|
528
563
|
|
|
529
|
-
|
|
564
|
+
#### Added
|
|
530
565
|
Support for WebpackerLite in the generators. [#822](https://github.com/shakacode/react_on_rails/pull/822) by [kaizencodes](https://github.com/kaizencodes) and [justin808](https://github.com/justin808).
|
|
531
566
|
|
|
532
|
-
|
|
567
|
+
#### Changed
|
|
533
568
|
Breaking change is that the default value of symlink_non_digested_assets_regex has changed from this
|
|
534
569
|
old value to nil. This is a breaking change if you didn't have this value set in your
|
|
535
570
|
config/initializers/react_on_rails.rb file and you need this because you're using webpack's CSS
|
|
@@ -549,65 +584,65 @@ Same as 7.0.1.
|
|
|
549
584
|
*Accidental release of beta gem here*
|
|
550
585
|
|
|
551
586
|
## [7.0.1] - 2017-04-27
|
|
552
|
-
|
|
587
|
+
#### Fixed
|
|
553
588
|
- Fix to handle nil values in json_safe_and_pretty [#823](https://github.com/shakacode/react_on_rails/pull/823) by [dzirtusss](https://github.com/dzirtusss)
|
|
554
589
|
|
|
555
590
|
## [7.0.0] - 2017-04-25
|
|
556
|
-
|
|
591
|
+
#### Changed
|
|
557
592
|
- Any version differences in gem and node package for React on Rails throw an error [#821](https://github.com/shakacode/react_on_rails/pull/821) by [justin808](https://github.com/justin808)
|
|
558
593
|
|
|
559
|
-
|
|
594
|
+
#### Fixed
|
|
560
595
|
- Fixes serious performance regression when using String props for rendering. [#821](https://github.com/shakacode/react_on_rails/pull/821) by [justin808](https://github.com/justin808)
|
|
561
596
|
|
|
562
597
|
## [6.10.1] - 2017-04-23
|
|
563
|
-
|
|
598
|
+
#### Fixed
|
|
564
599
|
- Improve json conversion with tests and support for older Rails 3.x. [#787](https://github.com/shakacode/react_on_rails/pull/787) by [cheremukhin23](https://github.com/cheremukhin23) and [Ynote](https://github.com/Ynote).
|
|
565
600
|
|
|
566
601
|
## [6.10.0] - 2017-04-13
|
|
567
602
|
|
|
568
|
-
|
|
603
|
+
#### Added
|
|
569
604
|
- Add an ability to return multiple HTML strings in a `Hash` as a result of `react_component` method call. Allows to build `<head>` contents with [React Helmet](https://github.com/nfl/react-helmet). [#800](https://github.com/shakacode/react_on_rails/pull/800) by [udovenko](https://github.com/udovenko).
|
|
570
605
|
|
|
571
|
-
|
|
606
|
+
#### Fixed
|
|
572
607
|
- Fix PropTypes, createClass deprecation warnings for React 15.5.x. [#804](https://github.com/shakacode/react_on_rails/pull/804) by [udovenko ](https://github.com/udovenko).
|
|
573
608
|
|
|
574
609
|
## [6.9.3] - 2017-04-03
|
|
575
610
|
|
|
576
|
-
|
|
611
|
+
#### Fixed
|
|
577
612
|
- Removed call of to_json on strings when formatting props. [#791](https://github.com/shakacode/react_on_rails/pull/791) by [justin808](https://github.com/justin808).
|
|
578
613
|
|
|
579
614
|
## [6.9.2] - 2017-04-02
|
|
580
615
|
|
|
581
|
-
|
|
616
|
+
#### Changed
|
|
582
617
|
- Update version_checker.rb to `logger.error` rather than `logger.warn` for gem/npm version mismatch. [#788](https://github.com/shakacode/react_on_rails/issues/788) by [justin808](https://github.com/justin808).
|
|
583
618
|
|
|
584
|
-
|
|
619
|
+
#### Fixed
|
|
585
620
|
- Remove pretty formatting of JSON in development. [#789](https://github.com/shakacode/react_on_rails/pull/789) by [justin808](https://github.com/justin808)
|
|
586
621
|
- Clear hydrated stores with each server rendered block. [#785](https://github.com/shakacode/react_on_rails/pull/785) by [udovenko](https://github.com/udovenko)
|
|
587
622
|
|
|
588
623
|
## [6.9.1] - 2017-03-30
|
|
589
624
|
|
|
590
|
-
|
|
625
|
+
#### Fixed
|
|
591
626
|
- Fixes Crash in Development for String Props. [#784](https://github.com/shakacode/react_on_rails/issues/784) by [justin808](https://github.com/justin808).
|
|
592
627
|
|
|
593
628
|
## [6.9.0] - 2017-03-29
|
|
594
629
|
|
|
595
|
-
|
|
630
|
+
#### Fixed
|
|
596
631
|
- Fixed error in the release script. [#767](https://github.com/shakacode/react_on_rails/issues/767) by [isolo](https://github.com/isolo).
|
|
597
632
|
|
|
598
|
-
|
|
633
|
+
#### Changed
|
|
599
634
|
- Use <script type="application/json"> for props and store instead of hidden div. [#775] (https://github.com/shakacode/react_on_rails/pull/775) by [cheremukhin23](https://github.com/cheremukhin23).
|
|
600
635
|
|
|
601
|
-
|
|
636
|
+
#### Added
|
|
602
637
|
- Add option to specify i18n_yml_dir in order to include only subset of locale files when generating translations.js & default.js for react-intl.
|
|
603
638
|
[#777](https://github.com/shakacode/react_on_rails/pull/777) by [danijel](https://github.com/danijel).
|
|
604
639
|
|
|
605
640
|
## [6.8.2] - 2017-03-24
|
|
606
|
-
|
|
641
|
+
#### Fixed
|
|
607
642
|
- Change webpack output path to absolute and update webpack to version ^2.3.1. [#771](https://github.com/shakacode/react_on_rails/pull/771) by [cheremukhin23](https://github.com/cheremukhin23).
|
|
608
643
|
|
|
609
644
|
## [6.8.1] - 2017-03-21
|
|
610
|
-
|
|
645
|
+
#### Fixed
|
|
611
646
|
- Fixed error "The node you're attempting to unmount was rendered by another copy of React." [#706](https://github.com/shakacode/react_on_rails/issues/706) when navigating to cached page using Turbolinks [#763](https://github.com/shakacode/react_on_rails/pull/763) by [szyablitsky](https://github.com/szyablitsky).
|
|
612
647
|
|
|
613
648
|
## [6.8.0] - 2017-03-06
|
|
@@ -615,7 +650,7 @@ Same as 7.0.1.
|
|
|
615
650
|
- Converted to Webpack v2 for generators, tests, and all example code. [#742](https://github.com/shakacode/react_on_rails/pull/742) by [justin808](https://github.com/justin808).
|
|
616
651
|
|
|
617
652
|
## [6.7.2] - 2017-03-05
|
|
618
|
-
|
|
653
|
+
#### Improved
|
|
619
654
|
- Improve i18n Integration with a better error message if the value of the i18n directory is invalid. [#748](https://github.com/shakacode/react_on_rails/pull/748) by [justin808](https://github.com/justin808).
|
|
620
655
|
|
|
621
656
|
## [6.7.1] - 2017-02-28
|
|
@@ -623,7 +658,7 @@ No changes other than a test fix.
|
|
|
623
658
|
|
|
624
659
|
## [6.7.0] - 2017-02-28
|
|
625
660
|
|
|
626
|
-
|
|
661
|
+
#### IMPORTANT
|
|
627
662
|
- If you installed 6.6.0, you will need to comment out the line matching i18n_dir unless you are using this feature. 6.7.1 will give you an error like:
|
|
628
663
|
|
|
629
664
|
```
|
|
@@ -636,32 +671,32 @@ Commenting out this line addresses the issue:
|
|
|
636
671
|
config.i18n_dir = Rails.root.join("client", "app", "libs", "i18n")
|
|
637
672
|
```
|
|
638
673
|
|
|
639
|
-
|
|
674
|
+
#### Added
|
|
640
675
|
- Allow using rake task to generate javascript locale files. The test helper automatically creates the localization files when needed. [#717](https://github.com/shakacode/react_on_rails/pull/717) by [JasonYCHuang](https://github.com/JasonYCHuang).
|
|
641
676
|
|
|
642
|
-
|
|
677
|
+
#### Fixed
|
|
643
678
|
- Upgrade Rails to 4.2.8 to fix security vulnerabilities in 4.2.5. [#735](https://github.com/shakacode/react_on_rails/pull/735) by [hrishimittal](https://github.com/hrishimittal).
|
|
644
679
|
- Fix spec failing due to duplicate component. [#734](https://github.com/shakacode/react_on_rails/pull/734) by [hrishimittal](https://github.com/hrishimittal).
|
|
645
680
|
|
|
646
681
|
## [6.6.0] - 2017-02-18
|
|
647
|
-
|
|
682
|
+
#### Added
|
|
648
683
|
- Switched to yarn! [#715](https://github.com/shakacode/react_on_rails/pull/715) by [squadette](https://github.com/squadette).
|
|
649
684
|
|
|
650
685
|
## [6.5.1] - 2017-02-11
|
|
651
|
-
|
|
686
|
+
#### Fixed
|
|
652
687
|
- Allow using gem without sprockets. [#671](https://github.com/shakacode/react_on_rails/pull/671) by [fc-arny](https://github.com/fc-arny).
|
|
653
688
|
- Fixed issue [#706](https://github.com/shakacode/react_on_rails/issues/706) with "flickering" components when they are unmounted too early [#709](https://github.com/shakacode/react_on_rails/pull/709) by [szyablitsky](https://github.com/szyablitsky).
|
|
654
689
|
- Small formatting fix for errors [#703](https://github.com/shakacode/react_on_rails/pull/703) by [justin808](https://github.com/justin808).
|
|
655
690
|
|
|
656
691
|
## [6.5.0] - 2017-01-31
|
|
657
|
-
|
|
692
|
+
#### Added
|
|
658
693
|
- Allow generator function to return Object with property `renderedHtml` (already could return Object with props `redirectLocation, error`) rather than a React component or a function that returns a React component. One reason to use a generator function is that sometimes in server rendering, specifically with React Router v4, you need to return the result of calling ReactDOMServer.renderToString(element). [#689](https://github.com/shakacode/react_on_rails/issues/689) by [justin808](https://github.com/justin808).
|
|
659
694
|
|
|
660
|
-
|
|
695
|
+
#### Fixed
|
|
661
696
|
- Fix incorrect "this" references of Node.js SSR [#690](https://github.com/shakacode/react_on_rails/issues/689) by [nostophilia](https://github.com/nostophilia).
|
|
662
697
|
|
|
663
698
|
## [6.4.2] - 2017-01-17
|
|
664
|
-
|
|
699
|
+
#### Fixed
|
|
665
700
|
- Added OS detection for install generator, system call for Windows and unit-tests for it. [#666](https://github.com/shakacode/react_on_rails/pull/666) by [GeorgeGorbanev](https://github.com/GeorgeGorbanev).
|
|
666
701
|
|
|
667
702
|
## [6.4.1] - 2017-1-17
|
|
@@ -669,17 +704,17 @@ No changes.
|
|
|
669
704
|
|
|
670
705
|
## [6.4.0] - 2017-1-12
|
|
671
706
|
|
|
672
|
-
|
|
707
|
+
#### Possible Breaking Change
|
|
673
708
|
- Since foreman is no longer a dependency of the React on Rails gem, please run `gem install foreman`. If you are using rvm, you may wish to run `rvm @global do gem install foreman` to install foreman for all your gemsets.
|
|
674
709
|
|
|
675
|
-
|
|
710
|
+
#### Fixed
|
|
676
711
|
- Removed foreman as a dependency. [#678](https://github.com/shakacode/react_on_rails/pull/678) by [x2es](https://github.com/x2es).
|
|
677
712
|
|
|
678
|
-
|
|
713
|
+
#### Added
|
|
679
714
|
- Automatically generate __i18n__ javascript files for `react-intl` when the serve starts up. [#642](https://github.com/shakacode/react_on_rails/pull/642) by [JasonYCHuang](https://github.com/JasonYCHuang).
|
|
680
715
|
|
|
681
716
|
## [6.3.5] - 2017-1-6
|
|
682
|
-
|
|
717
|
+
#### Fixed
|
|
683
718
|
- The redux generator now creates a HelloWorld component that uses redux rather than local state. [#669](https://github.com/shakacode/react_on_rails/issues/669) by [justin808](https://github.com/justin808).
|
|
684
719
|
|
|
685
720
|
## [6.3.4] - 2016-12-25
|
|
@@ -1087,9 +1122,12 @@ Best done with Object destructing:
|
|
|
1087
1122
|
- Turbolinks support.
|
|
1088
1123
|
|
|
1089
1124
|
##### Fixed
|
|
1090
|
-
- Fix several generator
|
|
1125
|
+
- Fix several generator-related issues.
|
|
1091
1126
|
|
|
1092
|
-
[Unreleased]: https://github.com/shakacode/react_on_rails/compare/
|
|
1127
|
+
[Unreleased]: https://github.com/shakacode/react_on_rails/compare/14.0.0...master
|
|
1128
|
+
[14.0.0]: https://github.com/shakacode/react_on_rails/compare/13.4.1...14.0.0
|
|
1129
|
+
[13.4.1]: https://github.com/shakacode/react_on_rails/compare/13.4.0...13.4.1
|
|
1130
|
+
[13.4.0]: https://github.com/shakacode/react_on_rails/compare/13.3.5...13.4.0
|
|
1093
1131
|
[13.3.5]: https://github.com/shakacode/react_on_rails/compare/13.3.4...13.3.5
|
|
1094
1132
|
[13.3.4]: https://github.com/shakacode/react_on_rails/compare/13.3.3...13.3.4
|
|
1095
1133
|
[13.3.3]: https://github.com/shakacode/react_on_rails/compare/13.3.2...13.3.3
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
gem "shakapacker", "
|
|
3
|
+
gem "shakapacker", "7.2.1"
|
|
4
4
|
gem "bootsnap", require: false
|
|
5
|
-
gem "rails", "~> 7.
|
|
5
|
+
gem "rails", "~> 7.1"
|
|
6
|
+
|
|
6
7
|
gem "sqlite3"
|
|
7
8
|
gem "sass-rails", "~> 6.0"
|
|
8
9
|
gem "uglifier"
|
|
9
10
|
gem "jquery-rails"
|
|
10
|
-
gem "puma", "~>
|
|
11
|
-
gem "bundler", "2.
|
|
11
|
+
gem "puma", "~> 6.0"
|
|
12
|
+
gem "bundler", "2.5.3"
|
|
12
13
|
|
|
13
14
|
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
|
|
14
15
|
gem "turbolinks" if ENV["DISABLE_TURBOLINKS"].nil? || ENV["DISABLE_TURBOLINKS"].strip.empty?
|
|
@@ -29,9 +30,9 @@ group :development, :test do
|
|
|
29
30
|
gem "pry-doc"
|
|
30
31
|
gem "pry-rails"
|
|
31
32
|
gem "pry-rescue"
|
|
32
|
-
gem "rubocop", "1.
|
|
33
|
-
gem "rubocop-performance", require: false
|
|
34
|
-
gem "rubocop-rspec", require: false
|
|
33
|
+
gem "rubocop", "~>1.59", require: false
|
|
34
|
+
gem "rubocop-performance", "~>1.20.0", require: false
|
|
35
|
+
gem "rubocop-rspec", "~>2.26", require: false
|
|
35
36
|
gem "scss_lint", require: false
|
|
36
37
|
gem "spring", "~> 4.0"
|
|
37
38
|
end
|
|
@@ -46,6 +47,6 @@ group :test do
|
|
|
46
47
|
gem "rspec_junit_formatter"
|
|
47
48
|
gem "rspec-rails"
|
|
48
49
|
gem "rspec-retry"
|
|
49
|
-
gem "selenium-webdriver"
|
|
50
|
-
gem "webdrivers"
|
|
50
|
+
gem "selenium-webdriver", "4.9.0"
|
|
51
|
+
gem "webdrivers", "5.3.0"
|
|
51
52
|
end
|
data/README.md
CHANGED
|
@@ -63,7 +63,7 @@ See [Rails/Webpacker React Integration Options](https://www.shakacode.com/react-
|
|
|
63
63
|
|
|
64
64
|
## Online demo
|
|
65
65
|
* See the [react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial) for an example of a live implementation and code.
|
|
66
|
-
* A deployed version of the project `spec/dummy
|
|
66
|
+
* A deployed version of the project `spec/dummy`, which demonstrates several uses of `react_on_rails`, will soon be available on [Control Plane through this link](https://ror-spec-dummy.reactrails.com/)
|
|
67
67
|
|
|
68
68
|
## ShakaCode Forum Premium Content
|
|
69
69
|
_Requires creating a free account._
|
|
@@ -73,7 +73,7 @@ _Requires creating a free account._
|
|
|
73
73
|
|
|
74
74
|
## Prerequisites
|
|
75
75
|
|
|
76
|
-
Ruby on Rails >=5, rails/webpacker >= 4.2 or shakapacker > 6, Ruby >=
|
|
76
|
+
Ruby on Rails >=5, rails/webpacker >= 4.2 or shakapacker > 6, Ruby >= 3.0.0
|
|
77
77
|
|
|
78
78
|
# Support
|
|
79
79
|
|
|
@@ -113,6 +113,11 @@ The following companies support our open source projects, and ShakaCode uses the
|
|
|
113
113
|
<img alt="ScoutAPM" src="https://user-images.githubusercontent.com/4244251/184881152-9f2d8fba-88ac-4ba6-873b-22387f8711c5.png" height="120px">
|
|
114
114
|
</picture>
|
|
115
115
|
</a>
|
|
116
|
+
<a href="https://controlplane.com">
|
|
117
|
+
<picture>
|
|
118
|
+
<img alt="Control Plane" src="https://github.com/shakacode/.github/assets/20628911/90babd87-62c4-4de3-baa4-3d78ef4bec25" height="120px">
|
|
119
|
+
</picture>
|
|
120
|
+
</a>
|
|
116
121
|
<br />
|
|
117
122
|
<a href="https://www.browserstack.com">
|
|
118
123
|
<picture>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rails/generators"
|
|
4
|
+
require_relative "generator_helper"
|
|
5
|
+
|
|
6
|
+
module ReactOnRails
|
|
7
|
+
module Generators
|
|
8
|
+
class AdaptForOlderShakapackerGenerator < Rails::Generators::Base
|
|
9
|
+
include GeneratorHelper
|
|
10
|
+
Rails::Generators.hide_namespace(namespace)
|
|
11
|
+
|
|
12
|
+
def change_spelling_to_webpacker
|
|
13
|
+
puts "Change spelling to webpacker v7"
|
|
14
|
+
files = %w[
|
|
15
|
+
Procfile.dev
|
|
16
|
+
Procfile.dev-static
|
|
17
|
+
config/shakapacker.yml
|
|
18
|
+
config/initializers/react_on_rails.rb
|
|
19
|
+
]
|
|
20
|
+
files.each { |file| gsub_file(file, "shakapacker", "webpacker") }
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def rename_config_file
|
|
24
|
+
puts "Rename to config/webpacker.yml"
|
|
25
|
+
puts "Renaming shakapacker.yml into webpacker.yml"
|
|
26
|
+
FileUtils.mv("config/shakapacker.yml", "config/webpacker.yml")
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def modify_requiring_webpack_config_in_js
|
|
30
|
+
puts "Update commonWebpackConfig.js to follow the Shakapacker v6 interface"
|
|
31
|
+
file = "config/webpack/commonWebpackConfig.js"
|
|
32
|
+
gsub_file(file, "const baseClientWebpackConfig = generateWebpackConfig();\n\n", "")
|
|
33
|
+
gsub_file(
|
|
34
|
+
file,
|
|
35
|
+
"const { generateWebpackConfig, merge } = require('shakapacker');",
|
|
36
|
+
"const { webpackConfig: baseClientWebpackConfig, merge } = require('shakapacker');"
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -65,10 +65,10 @@ module ReactOnRails
|
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
-
def
|
|
69
|
-
puts "Adding
|
|
68
|
+
def copy_shakapacker_config
|
|
69
|
+
puts "Adding Shakapacker v7 config file"
|
|
70
70
|
base_path = "base/base/"
|
|
71
|
-
base_files = %w[config/
|
|
71
|
+
base_files = %w[config/shakapacker.yml]
|
|
72
72
|
base_files.each { |file| copy_file("#{base_path}#{file}", file) }
|
|
73
73
|
end
|
|
74
74
|
|
|
@@ -77,7 +77,7 @@ module ReactOnRails
|
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
def add_yarn_dependencies
|
|
80
|
-
major_minor_patch_only = /\A\d+\.\d+\.\d+\z
|
|
80
|
+
major_minor_patch_only = /\A\d+\.\d+\.\d+\z/
|
|
81
81
|
if ReactOnRails::VERSION.match?(major_minor_patch_only)
|
|
82
82
|
run "yarn add react-on-rails@#{ReactOnRails::VERSION} --exact"
|
|
83
83
|
else
|
|
@@ -91,7 +91,15 @@ module ReactOnRails
|
|
|
91
91
|
babel-plugin-macros"
|
|
92
92
|
|
|
93
93
|
puts "Adding CSS handlers"
|
|
94
|
-
|
|
94
|
+
|
|
95
|
+
# css_minimizer_webpack_plugin version 6 only supports Nodejs v18+
|
|
96
|
+
# When we bump our minimum Nodejs version to 18, we can remove this logic
|
|
97
|
+
# and install css_minimizer_webpack_plugin directly.
|
|
98
|
+
node_major_version = `node -v`.match(/^v(\d{,2})\./)[1]&.to_i
|
|
99
|
+
css_minimizer_webpack_plugin_version = node_major_version >= 18 ? "" : "@<6.0.0"
|
|
100
|
+
css_minimizer_webpack_plugin = "css-minimizer-webpack-plugin#{css_minimizer_webpack_plugin_version}"
|
|
101
|
+
|
|
102
|
+
run "yarn add css-loader '#{css_minimizer_webpack_plugin}' mini-css-extract-plugin style-loader"
|
|
95
103
|
|
|
96
104
|
puts "Adding dev dependencies"
|
|
97
105
|
run "yarn add -D @pmmmwh/react-refresh-webpack-plugin react-refresh"
|
|
@@ -132,50 +140,6 @@ module ReactOnRails
|
|
|
132
140
|
ReactOnRails::TestHelper.configure_rspec_to_compile_assets(config)
|
|
133
141
|
STR
|
|
134
142
|
|
|
135
|
-
def self.helpful_message
|
|
136
|
-
<<-MSG.strip_heredoc
|
|
137
|
-
|
|
138
|
-
What to do next:
|
|
139
|
-
|
|
140
|
-
- See the documentation on https://github.com/shakacode/shakapacker#webpack-configuration
|
|
141
|
-
for how to customize the default webpack configuration.
|
|
142
|
-
|
|
143
|
-
- Include your webpack assets to your application layout.
|
|
144
|
-
|
|
145
|
-
<%= javascript_pack_tag 'hello-world-bundle' %>
|
|
146
|
-
|
|
147
|
-
- To start Rails server run:
|
|
148
|
-
|
|
149
|
-
./bin/dev # Running with HMR
|
|
150
|
-
|
|
151
|
-
or
|
|
152
|
-
|
|
153
|
-
./bin/dev-static # Running with statically created bundles, without HMR
|
|
154
|
-
|
|
155
|
-
- To server render, change this line app/views/hello_world/index.html.erb to
|
|
156
|
-
`prerender: true` to see server rendering (right click on page and select "view source").
|
|
157
|
-
|
|
158
|
-
<%= react_component("HelloWorldApp", props: @hello_world_props, prerender: true) %>
|
|
159
|
-
|
|
160
|
-
Alternative steps to run the app:
|
|
161
|
-
|
|
162
|
-
- Run `rails s` to start the Rails server.
|
|
163
|
-
|
|
164
|
-
- Run bin/webpacker-dev-server to start the Webpack dev server for compilation of Webpack
|
|
165
|
-
assets as soon as you save. This default setup with the dev server does not work
|
|
166
|
-
for server rendering
|
|
167
|
-
|
|
168
|
-
- Visit http://localhost:3000/hello_world and see your React On Rails app running!
|
|
169
|
-
|
|
170
|
-
- To turn on HMR, edit config/webpacker.yml and set HMR to true. Restart the rails server
|
|
171
|
-
and bin/webpacker-dev-server. Or use Procfile.dev.
|
|
172
|
-
MSG
|
|
173
|
-
end
|
|
174
|
-
|
|
175
|
-
def print_helpful_message
|
|
176
|
-
GeneratorMessages.add_info(self.class.helpful_message)
|
|
177
|
-
end
|
|
178
|
-
|
|
179
143
|
private
|
|
180
144
|
|
|
181
145
|
# From https://github.com/rails/rails/blob/4c940b2dbfb457f67c6250b720f63501d74a45fd/railties/lib/rails/generators/rails/app/app_generator.rb
|
|
@@ -39,7 +39,7 @@ module ReactOnRails
|
|
|
39
39
|
|
|
40
40
|
hello_world_index = File.join(destination_root, "app", "views", "hello_world", "index.html.erb")
|
|
41
41
|
hello_world_contents = File.read(hello_world_index)
|
|
42
|
-
new_hello_world_contents = hello_world_contents.gsub(
|
|
42
|
+
new_hello_world_contents = hello_world_contents.gsub("prerender: false",
|
|
43
43
|
"prerender: true")
|
|
44
44
|
|
|
45
45
|
File.open(hello_world_index, "w+") { |f| f.puts new_hello_world_contents }
|