react_on_rails 9.0.0.beta.11 → 9.0.0.beta.12

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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintignore +2 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +5 -0
  5. data/.travis.yml +11 -0
  6. data/CHANGELOG.md +24 -9
  7. data/Gemfile +2 -2
  8. data/Gemfile.rails32 +74 -0
  9. data/README.md +17 -12
  10. data/Rakefile +8 -1
  11. data/app/helpers/react_on_rails_helper.rb +1 -1
  12. data/docs/additional-reading/asset-pipeline.md +20 -0
  13. data/docs/additional-reading/hot-reloading-rails-development.md +0 -75
  14. data/docs/additional-reading/rspec-configuration.md +6 -23
  15. data/{lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb.tt → docs/basics/configuration.md} +78 -41
  16. data/docs/basics/generator.md +0 -5
  17. data/docs/basics/installation-overview.md +5 -4
  18. data/docs/tutorial.md +25 -13
  19. data/lib/generators/USAGE +0 -4
  20. data/lib/generators/react_on_rails/base_generator.rb +41 -81
  21. data/lib/generators/react_on_rails/dev_tests_generator.rb +7 -5
  22. data/lib/generators/react_on_rails/install_generator.rb +5 -10
  23. data/lib/generators/react_on_rails/react_no_redux_generator.rb +10 -9
  24. data/lib/generators/react_on_rails/react_with_redux_generator.rb +27 -17
  25. data/lib/generators/react_on_rails/templates/.eslintrc +2 -0
  26. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev +4 -0
  27. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev-server +5 -0
  28. data/lib/generators/react_on_rails/templates/base/base/{client/app → app/javascript}/bundles/HelloWorld/components/HelloWorld.jsx +0 -0
  29. data/lib/generators/react_on_rails/templates/base/base/{client/app/bundles/HelloWorld/startup/registration.jsx.tt → app/javascript/packs/registration.js.tt} +0 -0
  30. data/lib/generators/react_on_rails/templates/base/base/app/views/hello_world/index.html.erb.tt +0 -1
  31. data/lib/generators/react_on_rails/templates/base/base/app/views/layouts/{hello_world.html.erb.tt → hello_world.html.erb} +3 -3
  32. data/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb +41 -0
  33. data/lib/generators/react_on_rails/templates/dev_tests/.eslintrc +25 -0
  34. data/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +0 -1
  35. data/lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb +2 -0
  36. data/lib/generators/react_on_rails/templates/redux/base/{client/app/bundles/HelloWorld/actions/helloWorldActionCreators.jsx → app/javascript/bundles/HelloWorld/actions/helloWorldActionCreators.js} +0 -0
  37. data/lib/generators/react_on_rails/templates/redux/base/{client/app → app/javascript}/bundles/HelloWorld/components/HelloWorld.jsx +0 -0
  38. data/lib/generators/react_on_rails/templates/redux/base/{client/app/bundles/HelloWorld/constants/helloWorldConstants.jsx → app/javascript/bundles/HelloWorld/constants/helloWorldConstants.js} +0 -0
  39. data/lib/generators/react_on_rails/templates/redux/base/{client/app/bundles/HelloWorld/containers/HelloWorldContainer.jsx → app/javascript/bundles/HelloWorld/containers/HelloWorldContainer.js} +0 -0
  40. data/lib/generators/react_on_rails/templates/redux/base/{client/app/bundles/HelloWorld/reducers/helloWorldReducer.jsx → app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.js} +0 -0
  41. data/lib/generators/react_on_rails/templates/redux/base/{client/app → app/javascript}/bundles/HelloWorld/startup/HelloWorldApp.jsx +0 -0
  42. data/lib/generators/react_on_rails/templates/redux/base/{client/app/bundles/HelloWorld/store/helloWorldStore.jsx → app/javascript/bundles/HelloWorld/store/helloWorldStore.js} +0 -0
  43. data/lib/react_on_rails/configuration.rb +15 -10
  44. data/lib/react_on_rails/server_rendering_pool/exec.rb +21 -8
  45. data/lib/react_on_rails/test_helper.rb +6 -6
  46. data/lib/react_on_rails/test_helper/ensure_assets_compiled.rb +1 -1
  47. data/lib/react_on_rails/test_helper/webpack_assets_compiler.rb +3 -1
  48. data/lib/react_on_rails/test_helper/webpack_assets_status_checker.rb +10 -6
  49. data/lib/react_on_rails/utils.rb +34 -3
  50. data/lib/react_on_rails/version.rb +1 -1
  51. data/lib/react_on_rails/version_checker.rb +1 -1
  52. data/lib/tasks/assets.rake +10 -2
  53. data/package.json +6 -2
  54. data/rakelib/dummy_apps.rake +9 -0
  55. data/rakelib/example_type.rb +8 -19
  56. data/rakelib/examples.rake +3 -5
  57. data/rakelib/run_rspec.rake +17 -0
  58. data/yarn.lock +29 -0
  59. metadata +19 -23
  60. data/lib/generators/react_on_rails/node_generator.rb +0 -24
  61. data/lib/generators/react_on_rails/templates/base/base/Procfile.dev.tt +0 -4
  62. data/lib/generators/react_on_rails/templates/base/base/client/.babelrc +0 -3
  63. data/lib/generators/react_on_rails/templates/base/base/client/REACT_ON_RAILS_CLIENT_README.md +0 -9
  64. data/lib/generators/react_on_rails/templates/base/base/client/package.json.tt +0 -36
  65. data/lib/generators/react_on_rails/templates/base/base/client/webpack.config.js +0 -78
  66. data/lib/generators/react_on_rails/templates/base/base/config/webpacker.yml +0 -28
  67. data/lib/generators/react_on_rails/templates/base/base/package.json.tt +0 -8
  68. data/lib/generators/react_on_rails/templates/node/base/client/node/package.json +0 -10
  69. data/lib/generators/react_on_rails/templates/node/base/client/node/server.js +0 -105
@@ -50,7 +50,7 @@ Detected the following stale generated files:
50
50
  #{stale_files.join("\n ")}
51
51
 
52
52
  React on Rails will ensure your JavaScript generated files are up to date, using your
53
- /client level package.json `#{ReactOnRails.configuration.npm_build_test_command}` command.
53
+ `#{ReactOnRails::Utils.prepend_cd_node_modules_directory(ReactOnRails.configuration.build_test_command)}` command.
54
54
 
55
55
  MSG
56
56
  # rubocop:enable Layout/IndentHeredoc
@@ -8,7 +8,9 @@ module ReactOnRails
8
8
  def compile_assets
9
9
  puts "\nBuilding Webpack assets..."
10
10
 
11
- cmd = "cd client && #{ReactOnRails.configuration.npm_build_test_command}"
11
+ cmd = ReactOnRails::Utils.prepend_cd_node_modules_directory(
12
+ ReactOnRails.configuration.build_test_command
13
+ )
12
14
 
13
15
  ReactOnRails::Utils.invoke_and_exit_if_failed(cmd, "Error in building webpack assets!")
14
16
 
@@ -10,16 +10,18 @@ module ReactOnRails
10
10
  module TestHelper
11
11
  class WebpackAssetsStatusChecker
12
12
  include Utils::Required
13
- # client_dir is typically /client, where all client files go
14
- attr_reader :client_dir, :generated_assets_dir
13
+ # source_path is typically configured in the webpacker.yml file
14
+ # for `source_path`
15
+ # or for legacy React on Rails, it's /client, where all client files go
16
+ attr_reader :source_path, :generated_assets_dir
15
17
 
16
18
  def initialize(
17
19
  generated_assets_dir: required("generated_assets_dir"),
18
- client_dir: required("client_dir"),
20
+ source_path: required("source_path"),
19
21
  webpack_generated_files: required("webpack_generated_files")
20
22
  )
21
23
  @generated_assets_dir = generated_assets_dir
22
- @client_dir = client_dir
24
+ @source_path = source_path
23
25
  @webpack_generated_files = webpack_generated_files
24
26
  end
25
27
 
@@ -53,13 +55,15 @@ module ReactOnRails
53
55
  webpack_generated_files = @webpack_generated_files.map do |bundle_name|
54
56
  ReactOnRails::Utils.bundle_js_file_path(bundle_name)
55
57
  end
58
+
56
59
  if webpack_generated_files.present?
57
60
  webpack_generated_files
58
61
  else
59
62
  file_list = make_file_list(make_globs(generated_assets_dir)).to_ary
60
63
  puts "V" * 80
61
64
  puts "Please define config.webpack_generated_files (array) so the test helper knows "\
62
- "which files are required."
65
+ "which files are required. If you are using webpacker, you typically need to only "\
66
+ "include 'manifest.json'."
63
67
  puts "Detected the possible following files to check for webpack compilation in "\
64
68
  "#{generated_assets_dir}"
65
69
  puts file_list.join("\n")
@@ -70,7 +74,7 @@ module ReactOnRails
70
74
  end
71
75
 
72
76
  def client_files
73
- @client_files ||= make_file_list(make_globs(client_dir)).to_ary
77
+ @client_files ||= make_file_list(make_globs(source_path)).to_ary
74
78
  end
75
79
 
76
80
  def make_globs(dirs)
@@ -81,8 +81,8 @@ exitstatus: #{status.exitstatus}#{stdout_msg}#{stderr_msg}
81
81
 
82
82
  def self.bundle_js_file_path(bundle_name)
83
83
  if using_webpacker?
84
- # Next line will throw if the file or manifest does not exist
85
- Rails.root.join(File.join("public", Webpacker.manifest.lookup(bundle_name))).to_s
84
+ return bundle_name if bundle_name == "manifest.json"
85
+ bundle_js_file_path_from_webpacker(bundle_name)
86
86
  else
87
87
  # Default to the non-hashed name in the specified output directory, which, for legacy
88
88
  # React on Rails, this is the output directory picked up by the asset pipeline.
@@ -116,14 +116,45 @@ exitstatus: #{status.exitstatus}#{stdout_msg}#{stderr_msg}
116
116
  end
117
117
  end
118
118
 
119
+ def self.prepend_cd_node_modules_directory(cmd)
120
+ return cmd unless ReactOnRails.configuration.node_modules_location.present?
121
+ "cd #{ReactOnRails.configuration.node_modules_location} && #{cmd}"
122
+ end
123
+
124
+ def self.source_path
125
+ using_webpacker? ? webpacker_source_path : ReactOnRails.configuration.node_modules_location
126
+ end
127
+
128
+ def self.generated_assets_dir
129
+ using_webpacker? ? webpacker_public_output_path : ReactOnRails.configuration.generated_assets_dir
130
+ end
131
+
119
132
  ###########################################################################
120
133
  # WEBPACKER WRAPPERS
121
134
  ###########################################################################
122
-
123
135
  def self.using_webpacker?
124
136
  ActionController::Base.helpers.respond_to?(:asset_pack_path)
125
137
  end
126
138
 
139
+ def self.bundle_js_file_path_from_webpacker(bundle_name)
140
+ hashed_bundle_name = Webpacker.manifest.lookup(bundle_name)
141
+ if Webpacker.dev_server.running?
142
+ result = "#{Webpacker.dev_server.protocol}://#{Webpacker.dev_server.host_with_port}#{hashed_bundle_name}"
143
+ result
144
+ else
145
+ # Next line will throw if the file or manifest does not exist
146
+ Rails.root.join(File.join("public", hashed_bundle_name)).to_s
147
+ end
148
+ end
149
+
150
+ def self.webpacker_source_path
151
+ Webpacker.config.source_path
152
+ end
153
+
154
+ def self.webpacker_public_output_path
155
+ Webpacker.config.public_output_path
156
+ end
157
+
127
158
  def self.manifest_exists?
128
159
  Webpacker.config.public_manifest_path.exist?
129
160
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ReactOnRails
4
- VERSION = "9.0.0.beta.11"
4
+ VERSION = "9.0.0.beta.12"
5
5
  end
@@ -37,7 +37,7 @@ module ReactOnRails
37
37
  " node package: #{node_package_version.raw}\n" \
38
38
  "Ensure the installed version of the gem is the same as the version of \n"\
39
39
  "your installed node package.\n"\
40
- "Run `cd client && yarn add react-on-rails`"
40
+ "Run `#{ReactOnRails::Utils.prepend_cd_node_modules_directory('yarn add react-on-rails')}`"
41
41
  raise msg
42
42
  end
43
43
 
@@ -51,11 +51,19 @@ namespace :react_on_rails do
51
51
  desc <<-DESC.strip_heredoc
52
52
  Compile assets with webpack
53
53
  Uses command defined with ReactOnRails.configuration.npm_build_production_command
54
- sh "cd client && `ReactOnRails.configuration.npm_build_production_command`"
54
+
55
+ sh "#{ReactOnRails::Utils.prepend_cd_node_modules_directory('<ReactOnRails.configuration.npm_build_production_command>')}"
55
56
  DESC
56
57
  task webpack: :locale do
58
+ if Rake::Task.task_defined?("webpacker:compile")
59
+ # TODO: Eventually, this will need reconsideration if we use any of the Webpacker compilation
60
+ Rake::Task["webpacker:compile"].clear
61
+ end
62
+
57
63
  if ReactOnRails.configuration.npm_build_production_command.present?
58
- sh "cd client && #{ReactOnRails.configuration.npm_build_production_command}"
64
+ sh ReactOnRails::Utils.prepend_cd_node_modules_directory(
65
+ ReactOnRails.configuration.npm_build_production_command
66
+ ).to_s
59
67
  end
60
68
  end
61
69
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-on-rails",
3
- "version": "9.0.0-beta.11",
3
+ "version": "9.0.0-beta.12",
4
4
  "description": "react-on-rails JavaScript for react_on_rails Ruby gem",
5
5
  "main": "node_package/lib/ReactOnRails.js",
6
6
  "directories": {
@@ -85,5 +85,9 @@
85
85
  "bugs": {
86
86
  "url": "https://github.com/shakacode/react_on_rails/issues"
87
87
  },
88
- "homepage": "https://github.com/shakacode/react_on_rails#readme"
88
+ "homepage": "https://github.com/shakacode/react_on_rails#readme",
89
+ "dependencies": {
90
+ "react-on-rails": "^9.0.0-beta.11",
91
+ "react-redux": "^5.0.6"
92
+ }
89
93
  }
@@ -14,6 +14,15 @@ namespace :dummy_apps do
14
14
  bundle_install_in(dummy_app_dir)
15
15
  end
16
16
 
17
+ task :dummy_no_webpacker do
18
+ npm_install_cmd = "npm install"
19
+ install_react_on_rails_cmd = "yarn run install-react-on-rails"
20
+ dummy_app_dir = File.join(gem_root, "spec/dummy_no_webpacker")
21
+ sh_in_dir(File.join(gem_root, "spec/dummy_no_webpacker/client"), npm_install_cmd)
22
+ sh_in_dir(dummy_app_dir, install_react_on_rails_cmd)
23
+ sh_in_dir(dummy_app_dir, "BUNDLE_GEMFILE=Gemfile.rails32 bundle install")
24
+ end
25
+
17
26
  task dummy_apps: %i[dummy_app node_package] do
18
27
  puts "Prepared all Dummy Apps"
19
28
  end
@@ -38,20 +38,16 @@ module ReactOnRails
38
38
  Dir.exist?(dir)
39
39
  end
40
40
 
41
- def client_dir
42
- File.join(dir, "client")
43
- end
44
-
45
- def source_package_json
46
- File.join(gem_root, "lib/generators/react_on_rails/templates/base/base/client/package.json.tt")
41
+ def node_modules_location
42
+ dir
47
43
  end
48
44
 
49
45
  def node_modules_dir
50
- File.join(client_dir, "node_modules")
46
+ File.join(node_modules_location, "node_modules")
51
47
  end
52
48
 
53
49
  def webpack_bundles_dir
54
- File.join(dir, "public", "webpack", "test")
50
+ File.join(dir, "public", "packs-test")
55
51
  end
56
52
 
57
53
  def webpack_bundles
@@ -68,7 +64,7 @@ module ReactOnRails
68
64
  end
69
65
 
70
66
  def package_json
71
- File.join(client_dir, "package.json")
67
+ File.join(node_modules_location, "package.json")
72
68
  end
73
69
 
74
70
  # Gems we need to add to the Gemfile before bundle installing
@@ -79,7 +75,7 @@ module ReactOnRails
79
75
 
80
76
  # Options we pass when running `rails new` from the command-line
81
77
  def rails_options
82
- "--skip-bundle --skip-spring --skip-git --skip-test-unit --skip-active-record"
78
+ "--skip-bundle --skip-spring --skip-git --skip-test-unit --skip-active-record --webpack=react"
83
79
  end
84
80
 
85
81
  %w[gen prepare clean clobber npm_install build_webpack_bundles].each do |task_type|
@@ -108,12 +104,12 @@ module ReactOnRails
108
104
  FileList.new(all_files_in_dir(dir)) do |fl|
109
105
  fl.include(gemfile) # explicitly declared file (dependency of Gemfile.lock)
110
106
  fl.include(package_json) # explicitly declared file (dependency of NPM Install)
111
- fl.exclude(%r{client(/node_modules(.+)?)?$}) # leave node_modules folder
107
+ fl.exclude(%r{(/node_modules(.+)?)?$}) # leave node_modules folder
112
108
  end
113
109
  end
114
110
 
115
111
  def generated_client_files
116
- generated_files.exclude { |f| !f.start_with?(client_dir) }
112
+ generated_files.exclude { |f| !f.start_with?(node_modules_location) }
117
113
  end
118
114
 
119
115
  # generated files plus explicitly included files resulting from running
@@ -129,13 +125,6 @@ module ReactOnRails
129
125
  generated_files
130
126
  end
131
127
 
132
- # Assumes we are inside client folder
133
- def build_webpack_bundles_shell_commands
134
- webpack_command = File.join("$(yarn bin)", "webpack")
135
- shell_commands = []
136
- shell_commands << "NODE_ENV=test #{webpack_command} --config webpack.config.js"
137
- end
138
-
139
128
  # Assumes we are inside a rails app's folder and necessary gems have been installed
140
129
  def generator_shell_commands
141
130
  shell_commands = []
@@ -40,14 +40,12 @@ namespace :examples do
40
40
 
41
41
  # BUILD WEBPACK BUNDLES
42
42
  task example_type.build_webpack_bundles_task_name_short => example_type.npm_install_task_name do
43
- sh_in_dir(example_type.client_dir, example_type.build_webpack_bundles_shell_commands)
43
+ sh_in_dir(example_type.node_modules_location, example_type.build_webpack_bundles_shell_commands)
44
44
  end
45
45
 
46
- # YARN INSTALL
46
+ # # YARN INSTALL
47
47
  task example_type.npm_install_task_name_short => example_type.package_json do
48
- unless uptodate?(example_type.node_modules_dir, [example_type.source_package_json])
49
- sh_in_dir(example_type.client_dir, "yarn install --mutex network")
50
- end
48
+ sh_in_dir(example_type.node_modules_location, "yarn install --mutex network")
51
49
  end
52
50
 
53
51
  # CLEAN
@@ -18,6 +18,15 @@ namespace :run_rspec do
18
18
  run_tests_in("", rspec_args: File.join("spec", "react_on_rails"))
19
19
  end
20
20
 
21
+ desc "Run RSpec with rails32 gemfile"
22
+ task :gem_rails32 do
23
+ rspec_args = "spec/react_on_rails --exclude-pattern "\
24
+ "\"**/generators/*_spec.rb,**/test_helper/*_spec.rb\""
25
+ run_tests_in("",
26
+ rspec_args: rspec_args,
27
+ env_vars: "BUNDLE_GEMFILE=spec/dummy_no_webpacker/Gemfile.rails32")
28
+ end
29
+
21
30
  desc "Runs dummy rspec with turbolinks"
22
31
  task dummy: ["dummy_apps:dummy_app"] do
23
32
  clean_gen_assets(spec_dummy_dir)
@@ -34,6 +43,14 @@ namespace :run_rspec do
34
43
  command_name: "dummy_no_turbolinks")
35
44
  end
36
45
 
46
+ desc "Runs dummy_no_webpacker rspec"
47
+ task :dummy_no_webpacker do
48
+ dummy_app_dir = File.join(gem_root, "spec/dummy_no_webpacker")
49
+ clean_gen_assets(dummy_app_dir)
50
+ run_tests_in(dummy_app_dir,
51
+ env_vars: "BUNDLE_GEMFILE=Gemfile.rails32")
52
+ end
53
+
37
54
  # Dynamically define Rake tasks for each example app found in the examples directory
38
55
  ExampleType.all.each do |example_type|
39
56
  desc "Runs RSpec for #{example_type.name_pretty} only"
data/yarn.lock CHANGED
@@ -2250,6 +2250,10 @@ hoek@2.x.x:
2250
2250
  version "2.16.3"
2251
2251
  resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
2252
2252
 
2253
+ hoist-non-react-statics@^2.2.1:
2254
+ version "2.3.1"
2255
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz#343db84c6018c650778898240135a1420ee22ce0"
2256
+
2253
2257
  home-or-tmp@^2.0.0:
2254
2258
  version "2.0.0"
2255
2259
  resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
@@ -2366,6 +2370,12 @@ interpret@^1.0.0:
2366
2370
  version "1.0.1"
2367
2371
  resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
2368
2372
 
2373
+ invariant@^2.0.0:
2374
+ version "2.2.2"
2375
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
2376
+ dependencies:
2377
+ loose-envify "^1.0.0"
2378
+
2369
2379
  invariant@^2.2.0:
2370
2380
  version "2.2.1"
2371
2381
  resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54"
@@ -2714,6 +2724,10 @@ locate-path@^2.0.0:
2714
2724
  p-locate "^2.0.0"
2715
2725
  path-exists "^3.0.0"
2716
2726
 
2727
+ lodash-es@^4.2.0:
2728
+ version "4.17.4"
2729
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7"
2730
+
2717
2731
  lodash-es@^4.2.1:
2718
2732
  version "4.16.4"
2719
2733
  resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.16.4.tgz#4dc3e2cf33a8c343028aa7f7e06d1c9697042599"
@@ -3339,6 +3353,10 @@ react-dom@^15.6.1:
3339
3353
  object-assign "^4.1.0"
3340
3354
  prop-types "^15.5.10"
3341
3355
 
3356
+ react-on-rails@^9.0.0-beta.11:
3357
+ version "9.0.0-beta.11"
3358
+ resolved "https://registry.yarnpkg.com/react-on-rails/-/react-on-rails-9.0.0-beta.11.tgz#f6951129d7c2a67479281ca900859d5ac0aab978"
3359
+
3342
3360
  react-proxy@^1.1.7:
3343
3361
  version "1.1.8"
3344
3362
  resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-1.1.8.tgz#9dbfd9d927528c3aa9f444e4558c37830ab8c26a"
@@ -3346,6 +3364,17 @@ react-proxy@^1.1.7:
3346
3364
  lodash "^4.6.1"
3347
3365
  react-deep-force-update "^1.0.0"
3348
3366
 
3367
+ react-redux@^5.0.6:
3368
+ version "5.0.6"
3369
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.6.tgz#23ed3a4f986359d68b5212eaaa681e60d6574946"
3370
+ dependencies:
3371
+ hoist-non-react-statics "^2.2.1"
3372
+ invariant "^2.0.0"
3373
+ lodash "^4.2.0"
3374
+ lodash-es "^4.2.0"
3375
+ loose-envify "^1.1.0"
3376
+ prop-types "^15.5.10"
3377
+
3349
3378
  react-transform-hmr@^1.0.4:
3350
3379
  version "1.0.4"
3351
3380
  resolved "https://registry.yarnpkg.com/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz#e1a40bd0aaefc72e8dfd7a7cda09af85066397bb"
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: 9.0.0.beta.11
4
+ version: 9.0.0.beta.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Gordon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-21 00:00:00.000000000 Z
11
+ date: 2017-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rainbow
@@ -325,6 +325,7 @@ files:
325
325
  - CHANGELOG.md
326
326
  - CONTRIBUTING.md
327
327
  - Gemfile
328
+ - Gemfile.rails32
328
329
  - KUDOS.md
329
330
  - NEWS.md
330
331
  - PROJECTS.md
@@ -335,6 +336,7 @@ files:
335
336
  - book.json
336
337
  - docs/LICENSE.md
337
338
  - docs/additional-reading/angular-js-integration-migration.md
339
+ - docs/additional-reading/asset-pipeline.md
338
340
  - docs/additional-reading/babel.md
339
341
  - docs/additional-reading/code-splitting.md
340
342
  - docs/additional-reading/elastic-beanstalk.md
@@ -363,6 +365,7 @@ files:
363
365
  - docs/api/javascript-api.md
364
366
  - docs/api/ruby-api-hot-reload-view-helpers.md
365
367
  - docs/api/ruby-api.md
368
+ - docs/basics/configuration.md
366
369
  - docs/basics/generator.md
367
370
  - docs/basics/i18n.md
368
371
  - docs/basics/installation-overview.md
@@ -381,37 +384,30 @@ files:
381
384
  - lib/generators/react_on_rails/generator_helper.rb
382
385
  - lib/generators/react_on_rails/generator_messages.rb
383
386
  - lib/generators/react_on_rails/install_generator.rb
384
- - lib/generators/react_on_rails/node_generator.rb
385
387
  - lib/generators/react_on_rails/react_no_redux_generator.rb
386
388
  - lib/generators/react_on_rails/react_with_redux_generator.rb
387
389
  - lib/generators/react_on_rails/templates/.eslintrc
388
- - lib/generators/react_on_rails/templates/base/base/Procfile.dev.tt
390
+ - lib/generators/react_on_rails/templates/base/base/Procfile.dev
391
+ - lib/generators/react_on_rails/templates/base/base/Procfile.dev-server
389
392
  - lib/generators/react_on_rails/templates/base/base/app/controllers/hello_world_controller.rb
393
+ - lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx
394
+ - lib/generators/react_on_rails/templates/base/base/app/javascript/packs/registration.js.tt
390
395
  - lib/generators/react_on_rails/templates/base/base/app/views/hello_world/index.html.erb.tt
391
- - lib/generators/react_on_rails/templates/base/base/app/views/layouts/hello_world.html.erb.tt
392
- - lib/generators/react_on_rails/templates/base/base/client/.babelrc
393
- - lib/generators/react_on_rails/templates/base/base/client/REACT_ON_RAILS_CLIENT_README.md
394
- - lib/generators/react_on_rails/templates/base/base/client/app/bundles/HelloWorld/components/HelloWorld.jsx
395
- - lib/generators/react_on_rails/templates/base/base/client/app/bundles/HelloWorld/startup/registration.jsx.tt
396
- - lib/generators/react_on_rails/templates/base/base/client/package.json.tt
397
- - lib/generators/react_on_rails/templates/base/base/client/webpack.config.js
398
- - lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb.tt
399
- - lib/generators/react_on_rails/templates/base/base/config/webpacker.yml
400
- - lib/generators/react_on_rails/templates/base/base/package.json.tt
396
+ - lib/generators/react_on_rails/templates/base/base/app/views/layouts/hello_world.html.erb
397
+ - lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb
398
+ - lib/generators/react_on_rails/templates/dev_tests/.eslintrc
401
399
  - lib/generators/react_on_rails/templates/dev_tests/.rspec
402
400
  - lib/generators/react_on_rails/templates/dev_tests/spec/features/hello_world_spec.rb
403
401
  - lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb
404
402
  - lib/generators/react_on_rails/templates/dev_tests/spec/simplecov_helper.rb
405
403
  - lib/generators/react_on_rails/templates/dev_tests/spec/spec_helper.rb
406
- - lib/generators/react_on_rails/templates/node/base/client/node/package.json
407
- - lib/generators/react_on_rails/templates/node/base/client/node/server.js
408
- - lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/actions/helloWorldActionCreators.jsx
409
- - lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/components/HelloWorld.jsx
410
- - lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/constants/helloWorldConstants.jsx
411
- - lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/containers/HelloWorldContainer.jsx
412
- - lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/reducers/helloWorldReducer.jsx
413
- - lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/startup/HelloWorldApp.jsx
414
- - lib/generators/react_on_rails/templates/redux/base/client/app/bundles/HelloWorld/store/helloWorldStore.jsx
404
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/actions/helloWorldActionCreators.js
405
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/components/HelloWorld.jsx
406
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/constants/helloWorldConstants.js
407
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/containers/HelloWorldContainer.js
408
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/reducers/helloWorldReducer.js
409
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/startup/HelloWorldApp.jsx
410
+ - lib/generators/react_on_rails/templates/redux/base/app/javascript/bundles/HelloWorld/store/helloWorldStore.js
415
411
  - lib/react_on_rails.rb
416
412
  - lib/react_on_rails/assets_precompile.rb
417
413
  - lib/react_on_rails/configuration.rb