react_on_rails 12.0.0.pre.beta.1 → 12.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/.travis.yml +6 -4
  4. data/CHANGELOG.md +27 -17
  5. data/README.md +77 -79
  6. data/SUMMARY.md +1 -1
  7. data/docs/additional-reading/converting-from-custom-webpack-config-to-rails-webpacker-config.md +10 -0
  8. data/docs/additional-reading/react-router.md +1 -1
  9. data/docs/additional-reading/server-rendering-tips.md +4 -1
  10. data/docs/api/javascript-api.md +3 -3
  11. data/docs/api/redux-store-api.md +2 -2
  12. data/docs/api/view-helpers-api.md +4 -4
  13. data/docs/basics/configuration.md +28 -17
  14. data/docs/basics/deployment.md +2 -3
  15. data/docs/basics/heroku-deployment.md +24 -0
  16. data/docs/basics/hmr-and-hot-reloading-with-the-webpack-dev-server.md +49 -0
  17. data/docs/basics/i18n.md +3 -3
  18. data/docs/basics/installation-into-an-existing-rails-app.md +2 -7
  19. data/docs/basics/recommended-project-structure.md +5 -22
  20. data/docs/basics/render-functions-and-railscontext.md +1 -1
  21. data/docs/basics/rspec-configuration.md +27 -16
  22. data/docs/basics/upgrading-react-on-rails.md +35 -13
  23. data/docs/basics/webpack-configuration.md +3 -7
  24. data/docs/misc/doctrine.md +1 -1
  25. data/docs/outdated/code-splitting.md +3 -3
  26. data/docs/outdated/how-react-on-rails-works.md +8 -4
  27. data/docs/outdated/manual-installation-overview.md +1 -1
  28. data/docs/outdated/rails-assets.md +0 -7
  29. data/docs/tutorial.md +40 -30
  30. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-hmr +17 -9
  31. data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +4 -1
  32. data/lib/react_on_rails/configuration.rb +45 -6
  33. data/lib/react_on_rails/helper.rb +8 -8
  34. data/lib/react_on_rails/locales/base.rb +8 -0
  35. data/lib/react_on_rails/test_helper/ensure_assets_compiled.rb +1 -1
  36. data/lib/react_on_rails/test_helper/webpack_assets_compiler.rb +17 -0
  37. data/lib/react_on_rails/version.rb +1 -1
  38. data/lib/react_on_rails/webpacker_utils.rb +6 -0
  39. data/lib/tasks/assets.rake +47 -8
  40. data/lib/tasks/locale.rake +1 -5
  41. data/package.json +1 -1
  42. data/rakelib/examples.rake +1 -1
  43. data/rakelib/lint.rake +1 -1
  44. data/rakelib/release.rake +1 -3
  45. data/react_on_rails.gemspec +1 -0
  46. data/yarn.lock +260 -109
  47. metadata +21 -5
  48. data/docs/outdated/heroku-deployment.md +0 -86
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: 12.0.0.pre.beta.1
4
+ version: 12.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Gordon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-14 00:00:00.000000000 Z
11
+ date: 2020-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: webpacker
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '4.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '4.0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: awesome_print
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -332,6 +346,7 @@ files:
332
346
  - docs/additional-reading/asset-pipeline.md
333
347
  - docs/additional-reading/capistrano-deployment.md
334
348
  - docs/additional-reading/convert-rails-5-api-only-app.md
349
+ - docs/additional-reading/converting-from-custom-webpack-config-to-rails-webpacker-config.md
335
350
  - docs/additional-reading/credits.md
336
351
  - docs/additional-reading/elastic-beanstalk.md
337
352
  - docs/additional-reading/foreman-issues.md
@@ -359,6 +374,8 @@ files:
359
374
  - docs/basics/configuration.md
360
375
  - docs/basics/deployment.md
361
376
  - docs/basics/generator-details.md
377
+ - docs/basics/heroku-deployment.md
378
+ - docs/basics/hmr-and-hot-reloading-with-the-webpack-dev-server.md
362
379
  - docs/basics/i18n.md
363
380
  - docs/basics/installation-into-an-existing-rails-app.md
364
381
  - docs/basics/migrating-from-react-rails.md
@@ -378,7 +395,6 @@ files:
378
395
  - docs/misc/code_of_conduct.md
379
396
  - docs/misc/doctrine.md
380
397
  - docs/outdated/code-splitting.md
381
- - docs/outdated/heroku-deployment.md
382
398
  - docs/outdated/how-react-on-rails-works.md
383
399
  - docs/outdated/manual-installation-overview.md
384
400
  - docs/outdated/rails-assets-relative-paths.md
@@ -488,9 +504,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
488
504
  version: 2.5.0
489
505
  required_rubygems_version: !ruby/object:Gem::Requirement
490
506
  requirements:
491
- - - ">"
507
+ - - ">="
492
508
  - !ruby/object:Gem::Version
493
- version: 1.3.1
509
+ version: '0'
494
510
  requirements: []
495
511
  rubygems_version: 3.0.8
496
512
  signing_key:
@@ -1,86 +0,0 @@
1
- # Heroku Deployment
2
- The generator has created the necessary files and gems for deployment to Heroku. If you have installed manually, you will need to provide these files yourself:
3
-
4
- + `Procfile`: used by Heroku and Foreman to start the Puma server
5
- + `'puma'` gem: recommended Heroku webserver
6
- + `config/puma.rb`: Puma webserver config file
7
-
8
- If you want to see an updated example deployed to Heroku, please visit the [github.com/shakacode/react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial).
9
-
10
- ## More details on precompilation using webpack to create JavaScript assets
11
- This is how the `assets:precompile` rake task gets modified by `react_on_rails`. You should be able to call `clear_prerequisites` and setup your own custom precompile if needed.
12
- ```ruby
13
- # These tasks run as pre-requisites of assets:precompile.
14
- # Note, it's not possible to refer to ReactOnRails configuration values at this point.
15
- Rake::Task["assets:precompile"]
16
- .clear_prerequisites
17
- .enhance([:environment, "react_on_rails:assets:compile_environment"])
18
- ```
19
-
20
- For an example of how to do this, see the [dummy app](https://github.com/shakacode/react_on_rails/blob/master/spec/dummy/lib/tasks/assets.rake).
21
-
22
- ## Caching Node Modules
23
- By default Heroku will cache the root `node_modules` directory between deploys but since we're installing in `client/node_modules` you'll need to add the following line to the `package.json` in your root directory (otherwise you'll have to sit through a full `yarn` on each deploy):
24
-
25
- ```js
26
- "cacheDirectories": [
27
- "node_modules",
28
- "client/node_modules"
29
- ],
30
- ```
31
-
32
- ## How to Deploy
33
-
34
- React on Rails requires both a ruby environment (for Rails) and a Node environment (for Webpack), so you will need to have Heroku use multiple buildpacks.
35
-
36
- Assuming you have downloaded and installed the Heroku command-line utility and have initialized the app, you will need to tell Heroku to use both buildpacks via the command-line:
37
-
38
- ```
39
- heroku buildpacks:set heroku/ruby
40
- heroku buildpacks:add --index 1 heroku/nodejs
41
- ```
42
-
43
- For more information, see [Using Multiple Buildpacks for an App](https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app)
44
-
45
- ## Fresh Rails Install
46
-
47
- ### Swap out sqlite for postgres by doing the following:
48
-
49
- #### 1. Delete the line with `sqlite` and replace it with:
50
-
51
- ```ruby
52
- gem 'pg'
53
- ```
54
-
55
- #### 2. Replace your `database.yml` file with this (assuming your app name is "ror")
56
-
57
- ```yml
58
- default: &default
59
- adapter: postgresql
60
- username:
61
- password:
62
- host: localhost
63
-
64
- development:
65
- <<: *default
66
- database: ror_development
67
-
68
- # Warning: The database defined as "test" will be erased and
69
- # re-generated from your development database when you run "rake".
70
- # Do not set this db to the same as development or production.
71
- test:
72
- <<: *default
73
- database: ror_test
74
-
75
- production:
76
- <<: *default
77
- database: ror_production
78
- ```
79
-
80
- Run:
81
-
82
- ```
83
- bundle
84
- bin/rake db:setup
85
- bin/rake db:migrate
86
- ```