react-rails 1.6.0 → 1.6.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dafc9d6526a0e75f5c9e6cfa006a52ed1d305794
4
- data.tar.gz: ee33a8d78a82d716da7f88a497dbc163981909ac
3
+ metadata.gz: 7bfcf293fb25b2c8b94f7046cc4ccc4423ae2431
4
+ data.tar.gz: e6d7b81dd200c57831a4214f675034fdbbffdc11
5
5
  SHA512:
6
- metadata.gz: 7fe19f5219aa973337e217ed3ac0ae52494d03eea9404dba612cfc3fccaad641c3c04133ead4779f3767012ada4cca1026797c64bc9039d4bab9265b86752f04
7
- data.tar.gz: a0270fabf2484cc7ec4e3ab1f934b0e2662e68e4f8a5e7cb337467804617a8746eb73dbb3797e6beda751d14ff4aff9258df18d12fce9a27cdb9025b7525e5f2
6
+ metadata.gz: cafb0bf7621292d60e1437dba42d32e24dd9eea23c8d49406f42ac211fdb852eafee7f7649e6275cd75035bfe0c071d787275a6b000b42ad939ae305ec1640d1
7
+ data.tar.gz: 4a46fa6972483ecb1c4835a62608f25a19574b003bac3fba9446f88aeffc5bca147912f7227fa16e624fe27c69c855c849c2b9558157a0c348a642a45bb53278
@@ -8,6 +8,23 @@
8
8
 
9
9
  #### Bug Fixes
10
10
 
11
+ ## 1.6.1 (February 28, 2016)
12
+
13
+ #### Breaking Changes
14
+
15
+ #### New Features
16
+
17
+ - UJS can mount and unmount a component by ID (not only the component's children) #466
18
+ - Support Turbolinks 5 #475
19
+
20
+ #### Deprecation
21
+
22
+ #### Bug Fixes
23
+
24
+ - Support nested arrays with `camelize_props` #480
25
+ - Improve Sprockets 3 compatibility #453
26
+ - Fix install-generator `require` spacing #476
27
+
11
28
  ## 1.6.0 (February 4, 2016)
12
29
 
13
30
  #### Breaking Changes
data/README.md CHANGED
@@ -19,7 +19,7 @@ in your Ruby on Rails (3.2+) application. `react-rails` can:
19
19
  - [Generate components](#component-generator) with a Rails generator
20
20
  - [Be extended](#extending-react-rails) with custom renderers, transformers and view helpers
21
21
 
22
- Just getting started with React? Make sure to check out the [Getting Started] (https://facebook.github.io/react/docs/getting-started.html) guide. If you're looking for a Webpack integrated method, see [Related Projects](#related-projects) below.
22
+ Just getting started with React? Make sure to check out the [Getting Started] (https://facebook.github.io/react/docs/getting-started.html) guide. Also, see [Related Projects](#related-projects) below.
23
23
 
24
24
  ## Installation
25
25
 
@@ -82,14 +82,6 @@ end
82
82
  After restarting your Rails server, `//= require react` will provide the build of React.js which
83
83
  was specified by the configurations.
84
84
 
85
- If you want to hand-pick which add-ons are added to your build they are available via sprockets
86
- directives.
87
-
88
- ```js
89
- //= require react
90
- //= require react-addons-css-transition-group
91
- ```
92
-
93
85
  `react-rails` offers a few other options for versions & builds of React.js.
94
86
  See [VERSIONS.md](https://github.com/reactjs/react-rails/blob/master/VERSIONS.md) for more info about
95
87
  using the `react-source` gem or dropping in your own copies of React.js.
@@ -185,7 +177,7 @@ _(It will also be mounted by the UJS on page load.)_
185
177
 
186
178
  There are some requirements for this to work:
187
179
 
188
- - `react-rails` must load your code. By convention it uses `components.js`, which was created
180
+ - `react-rails` must load your code. By convention, it uses `components.js`, which was created
189
181
  by the install task. This file must include your components _and_ their dependencies (eg, Underscore.js).
190
182
  - Your components must be accessible in the global scope.
191
183
  If you are using `.js.jsx.coffee` files then the wrapper function needs to be taken into account:
@@ -203,7 +195,7 @@ You can configure your pool of JS virtual machines and specify where it should l
203
195
 
204
196
  ```ruby
205
197
  # config/environments/application.rb
206
- # These are the defaults if you dont specify any yourself
198
+ # These are the defaults if you don't specify any yourself
207
199
  MyApp::Application.configure do
208
200
  # Settings for the pool of renderers:
209
201
  config.react.server_renderer_pool_size ||= 1 # ExecJS doesn't allow more than one on MRI
@@ -405,5 +397,7 @@ Any subclass of `ExecJSRenderer` may use those hooks (for example, `SprocketsRen
405
397
 
406
398
  ### Related Projects
407
399
 
408
- 1. [react\_on\_rails Gem](https://github.com/shakacode/react_on_rails): Webpack Integration of React with Rails utilizing the modern JavaScript tooling and libraries, including Webpack, Babel, React, Redux, React-Router. You can an example of this live at [www.reactrails.com](http://www.reactrails.com).
409
- 2. [React.rb](http://reactrb.org/): Use Ruby to build reactive user interfaces with React under the covers.[github source code here](https://github.com/zetachang/react.rb).
400
+ - [react\_on\_rails Gem](https://github.com/shakacode/react_on_rails): Webpack Integration of React with Rails utilizing the modern JavaScript tooling and libraries, including Webpack, Babel, React, Redux, React-Router. You can an example of this live at [www.reactrails.com](http://www.reactrails.com).
401
+ - [React.rb](http://reactrb.org/): Use Ruby to build reactive user interfaces with React under the covers.[github source code here](https://github.com/zetachang/react.rb).
402
+ - [react-rails-hot-loader](https://github.com/rmosolgo/react-rails-hot-loader) is a simple live-reloader for `react-rails`.
403
+ - [react-rails-benchmark_renderer](https://github.com/pboling/react-rails-benchmark_renderer) adds performance instrumentation to server rendering.
@@ -0,0 +1,6 @@
1
+ //= require react_ujs_mount
2
+ //= require react_ujs_turbolinks
3
+ //= require react_ujs_turbolinks_classic
4
+ //= require react_ujs_turbolinks_classic_deprecated
5
+ //= require react_ujs_native
6
+ //= require react_ujs_event_setup
@@ -0,0 +1,27 @@
1
+ ;(function(document, window) {
2
+ // jQuery is optional. Use it to support legacy browsers.
3
+ var $ = (typeof window.jQuery !== 'undefined') && window.jQuery;
4
+ if ($) {
5
+ ReactRailsUJS.handleEvent = function(eventName, callback) {
6
+ $(document).on(eventName, callback);
7
+ };
8
+ } else {
9
+ ReactRailsUJS.handleEvent = function(eventName, callback) {
10
+ document.addEventListener(eventName, callback);
11
+ };
12
+ }
13
+ // Detect which kind of events to set up:
14
+ if (typeof Turbolinks !== 'undefined' && Turbolinks.supported) {
15
+ if (typeof Turbolinks.EVENTS !== 'undefined') {
16
+ // Turbolinks.EVENTS is in classic version 2.4.0+
17
+ ReactRailsUJS.TurbolinksClassic.setup();
18
+ } else if (typeof Turbolinks.controller !== "undefined") {
19
+ // Turbolinks.controller is in version 5+
20
+ ReactRailsUJS.Turbolinks.setup();
21
+ } else {
22
+ ReactRailsUJS.TurbolinksClassicDeprecated.setup();
23
+ }
24
+ } else {
25
+ ReactRailsUJS.Native.setup();
26
+ }
27
+ })(document, window);
@@ -1,15 +1,16 @@
1
- /*globals React, Turbolinks*/
2
-
3
- // Unobtrusive scripting adapter for React
4
1
  ;(function(document, window) {
5
2
  // jQuery is optional. Use it to support legacy browsers.
6
3
  var $ = (typeof window.jQuery !== 'undefined') && window.jQuery;
7
4
 
8
- // create the namespace
9
5
  window.ReactRailsUJS = {
6
+ // This attribute holds the name of component which should be mounted
7
+ // example: `data-react-class="MyApp.Items.EditForm"`
10
8
  CLASS_NAME_ATTR: 'data-react-class',
9
+
10
+ // This attribute holds JSON stringified props for initializing the component
11
+ // example: `data-react-props="{\"item\": { \"id\": 1, \"name\": \"My Item\"} }"`
11
12
  PROPS_ATTR: 'data-react-props',
12
- RAILS_ENV_DEVELOPMENT: <%= Rails.env == "development" %>,
13
+
13
14
  // helper method for the mount and unmount methods to find the
14
15
  // `data-react-class` DOM elements
15
16
  findDOMNodes: function(searchSelector) {
@@ -26,7 +27,8 @@
26
27
  parent = searchSelector;
27
28
  break;
28
29
  case 'string':
29
- selector = searchSelector + ' [' + window.ReactRailsUJS.CLASS_NAME_ATTR + ']';
30
+ selector = searchSelector + '[' + window.ReactRailsUJS.CLASS_NAME_ATTR + '], ' +
31
+ searchSelector + ' [' + window.ReactRailsUJS.CLASS_NAME_ATTR + ']';
30
32
  parent = document;
31
33
  break
32
34
  default:
@@ -40,6 +42,8 @@
40
42
  }
41
43
  },
42
44
 
45
+ // Within `searchSelector`, find nodes which should have React components
46
+ // inside them, and mount them with their props.
43
47
  mountComponents: function(searchSelector) {
44
48
  var nodes = window.ReactRailsUJS.findDOMNodes(searchSelector);
45
49
 
@@ -60,6 +64,8 @@
60
64
  }
61
65
  },
62
66
 
67
+ // Within `searchSelector`, find nodes which have React components
68
+ // inside them, and unmount those components.
63
69
  unmountComponents: function(searchSelector) {
64
70
  var nodes = window.ReactRailsUJS.findDOMNodes(searchSelector);
65
71
 
@@ -72,51 +78,4 @@
72
78
  }
73
79
  }
74
80
  };
75
-
76
- // functions not exposed publicly
77
- function handleTurbolinksEvents () {
78
- var handleEvent;
79
- var unmountEvent;
80
-
81
- if ($) {
82
- handleEvent = function(eventName, callback) {
83
- $(document).on(eventName, callback);
84
- };
85
-
86
- } else {
87
- handleEvent = function(eventName, callback) {
88
- document.addEventListener(eventName, callback);
89
- };
90
- }
91
-
92
- if (Turbolinks.EVENTS) {
93
- unmountEvent = Turbolinks.EVENTS.BEFORE_UNLOAD;
94
- } else {
95
- unmountEvent = 'page:receive';
96
- Turbolinks.pagesCached(0);
97
-
98
- if (window.ReactRailsUJS.RAILS_ENV_DEVELOPMENT) {
99
- console.warn('The Turbolinks cache has been disabled (Turbolinks >= 2.4.0 is recommended). See https://github.com/reactjs/react-rails/issues/87 for more information.');
100
- }
101
- }
102
- handleEvent('page:change', function() {window.ReactRailsUJS.mountComponents()});
103
- handleEvent(unmountEvent, function() {window.ReactRailsUJS.unmountComponents()});
104
- }
105
-
106
- function handleNativeEvents() {
107
- if ($) {
108
- $(function() {window.ReactRailsUJS.mountComponents()});
109
- } else if ('addEventListener' in window) {
110
- document.addEventListener('DOMContentLoaded', function() {window.ReactRailsUJS.mountComponents()});
111
- } else {
112
- // add support to IE8 without jQuery
113
- window.attachEvent('onload', function() {window.ReactRailsUJS.mountComponents()});
114
- }
115
- }
116
-
117
- if (typeof Turbolinks !== 'undefined' && Turbolinks.supported) {
118
- handleTurbolinksEvents();
119
- } else {
120
- handleNativeEvents();
121
- }
122
81
  })(document, window);
@@ -0,0 +1,18 @@
1
+ ;(function(document, window) {
2
+ // jQuery is optional. Use it to support legacy browsers.
3
+ var $ = (typeof window.jQuery !== 'undefined') && window.jQuery;
4
+
5
+ window.ReactRailsUJS.Native = {
6
+ // Attach handlers to browser events to mount & unmount components
7
+ setup: function() {
8
+ if ($) {
9
+ $(function() {window.ReactRailsUJS.mountComponents()});
10
+ } else if ('addEventListener' in window) {
11
+ document.addEventListener('DOMContentLoaded', function() {window.ReactRailsUJS.mountComponents()});
12
+ } else {
13
+ // add support to IE8 without jQuery
14
+ window.attachEvent('onload', function() {window.ReactRailsUJS.mountComponents()});
15
+ }
16
+ }
17
+ };
18
+ })(document, window);
@@ -0,0 +1,9 @@
1
+ ;(function(document, window) {
2
+ window.ReactRailsUJS.Turbolinks = {
3
+ // Turbolinks 5+ got rid of named events (?!)
4
+ setup: function() {
5
+ ReactRailsUJS.handleEvent('turbolinks:load', function() {window.ReactRailsUJS.mountComponents()});
6
+ ReactRailsUJS.handleEvent('turbolinks:before-cache', function() {window.ReactRailsUJS.unmountComponents()});
7
+ }
8
+ };
9
+ })(document, window);
@@ -0,0 +1,10 @@
1
+ ;(function(document, window) {
2
+ window.ReactRailsUJS.TurbolinksClassic = {
3
+ // Attach handlers to Turbolinks-Classic events
4
+ // for mounting and unmounting components
5
+ setup: function() {
6
+ ReactRailsUJS.handleEvent(Turbolinks.EVENTS.CHANGE, function() {window.ReactRailsUJS.mountComponents()});
7
+ ReactRailsUJS.handleEvent(Turbolinks.EVENTS.BEFORE_UNLOAD, function() {window.ReactRailsUJS.unmountComponents()});
8
+ }
9
+ };
10
+ })(document, window);
@@ -0,0 +1,13 @@
1
+ ;(function(document, window) {
2
+ window.ReactRailsUJS.TurbolinksClassicDeprecated = {
3
+ // Before Turbolinks 2.4.0, Turbolinks didn't
4
+ // have named events and didn't have a before-unload event.
5
+ // Also, it didn't work with the Turbolinks cache, see
6
+ // https://github.com/reactjs/react-rails/issues/87
7
+ setup: function() {
8
+ Turbolinks.pagesCached(0)
9
+ ReactRailsUJS.handleEvent('page:change', function() {window.ReactRailsUJS.mountComponents()});
10
+ ReactRailsUJS.handleEvent('page:receive', function() {window.ReactRailsUJS.unmountComponents()});
11
+ }
12
+ };
13
+ })(document, window);
@@ -22,7 +22,7 @@ module React
22
22
  if manifest.exist?
23
23
  manifest_contents = File.read(manifest)
24
24
 
25
- if match = manifest_contents.match(/\/\/=\s+require\s+turbolinks/)
25
+ if match = manifest_contents.match(/\/\/=\s+require\s+turbolinks\s+\n/)
26
26
  inject_into_file manifest, require_react, { after: match[0] }
27
27
  elsif match = manifest_contents.match(/\/\/=\s+require_tree[^\n]*/)
28
28
  inject_into_file manifest, require_react, { before: match[0] }
@@ -23,9 +23,9 @@ module React
23
23
  result["code"]
24
24
  end
25
25
 
26
+ # search for transformer file using sprockets - allows user to override
27
+ # this file in his own application
26
28
  def jsx_transform_code
27
- # search for transformer file using sprockets - allows user to override
28
- # this file in his own application
29
29
  ::Rails.application.assets[@asset_path].to_s
30
30
  end
31
31
  end
@@ -1,5 +1,4 @@
1
1
  require 'react/rails/asset_variant'
2
- require 'react/rails/engine'
3
2
  require 'react/rails/railtie'
4
3
  require 'react/rails/controller_lifecycle'
5
4
  require 'react/rails/version'
@@ -49,9 +49,17 @@ module React
49
49
  def camelize_props_key(props)
50
50
  return props unless props.is_a?(Hash)
51
51
  props.inject({}) do |h, (k,v)|
52
- h[k.to_s.camelize(:lower)] = v.is_a?(Hash) ? camelize_props_key(v) : v; h
52
+ h[k.to_s.camelize(:lower)] = case v
53
+ when Hash
54
+ camelize_props_key(v)
55
+ when Array
56
+ v.map {|i| camelize_props_key(i) }
57
+ else
58
+ v
59
+ end
60
+ h
53
61
  end
54
62
  end
55
63
  end
56
64
  end
57
- end
65
+ end
@@ -87,6 +87,16 @@ module React
87
87
  # Reload renderers in dev when files change
88
88
  ActionDispatch::Reloader.to_prepare { React::ServerRendering.reset_pool }
89
89
  end
90
+
91
+ initializer "react_rails.setup_engine", :group => :all do |app|
92
+ sprockets_env = app.assets || Sprockets # Sprockets 3.x expects this in a different place
93
+ if Gem::Version.new(Sprockets::VERSION) >= Gem::Version.new("3.0.0")
94
+ sprockets_env.register_mime_type("application/jsx", extensions: [".jsx", ".js.jsx", ".es.jsx", ".es6.jsx"])
95
+ sprockets_env.register_transformer("application/jsx", "application/javascript", React::JSX::Processor)
96
+ else
97
+ sprockets_env.register_engine(".jsx", React::JSX::Template)
98
+ end
99
+ end
90
100
  end
91
101
  end
92
102
  end
@@ -2,6 +2,6 @@ module React
2
2
  module Rails
3
3
  # If you change this, make sure to update VERSIONS.md
4
4
  # And the version hint in README.md, if needed
5
- VERSION = '1.6.0'
5
+ VERSION = '1.6.1'
6
6
  end
7
7
  end
@@ -11,7 +11,7 @@ module React
11
11
 
12
12
  def find_asset(logical_path)
13
13
  asset_path = @manifest.assets[logical_path] || raise("No compiled asset for #{logical_path}, was it precompiled?")
14
- asset_full_path = ::Rails.root.join("public", @manifest.directory, asset_path)
14
+ asset_full_path = ::Rails.root.join("public", @manifest.dir, asset_path)
15
15
  File.read(asset_full_path)
16
16
  end
17
17
  end
@@ -1,5 +1,7 @@
1
1
  require "react/server_rendering/environment_container"
2
2
  require "react/server_rendering/manifest_container"
3
+ require "react/server_rendering/yaml_manifest_container"
4
+
3
5
  module React
4
6
  module ServerRendering
5
7
  # Extends ExecJSRenderer for the Rails environment
@@ -62,7 +64,11 @@ module React
62
64
  elsif ::Rails.application.config.assets.compile
63
65
  EnvironmentContainer.new
64
66
  else
65
- ManifestContainer.new
67
+ if Rails::VERSION::MAJOR == 3
68
+ YamlManifestContainer.new
69
+ else
70
+ ManifestContainer.new
71
+ end
66
72
  end
67
73
  end
68
74
  end
@@ -0,0 +1,19 @@
1
+ module React
2
+ module ServerRendering
3
+ # Get asset content by reading the compiled file from disk using the generated maniftest.yml file
4
+ #
5
+ # This is good for Rails production when assets are compiled to public/assets
6
+ # but sometimes, they're compiled to other directories (or other servers)
7
+ class YamlManifestContainer
8
+ def initialize
9
+ @assets = YAML.load_file(::Rails.root.join("public/assets/manifest.yml"))
10
+ end
11
+
12
+ def find_asset(logical_path)
13
+ asset_path = @assets[logical_path] || raise("No compiled asset for #{logical_path}, was it precompiled?")
14
+ asset_full_path = ::Rails.root.join("public", "assets", asset_path)
15
+ File.read(asset_full_path)
16
+ end
17
+ end
18
+ end
19
+ end
metadata CHANGED
@@ -1,251 +1,251 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: react-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul O’Shannessy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-04 00:00:00.000000000 Z
11
+ date: 2016-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appraisal
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.2.2
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.2.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: codeclimate-test-reporter
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: coffee-rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: es5-shim-rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: 2.0.5
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 2.0.5
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: guard
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: guard-minitest
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: jbuilder
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: poltergeist
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: 0.3.3
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: 0.3.3
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: test-unit
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ~>
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
145
  version: '2.5'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ~>
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '2.5'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: turbolinks
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: 2.0.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: 2.0.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: coffee-script-source
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ~>
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
173
  version: '1.8'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ~>
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: '1.8'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: connection_pool
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '>='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - '>='
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: execjs
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - '>='
199
+ - - ">="
200
200
  - !ruby/object:Gem::Version
201
201
  version: '0'
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - '>='
206
+ - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: rails
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - '>='
213
+ - - ">="
214
214
  - !ruby/object:Gem::Version
215
215
  version: '3.2'
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - '>='
220
+ - - ">="
221
221
  - !ruby/object:Gem::Version
222
222
  version: '3.2'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: tilt
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - '>='
227
+ - - ">="
228
228
  - !ruby/object:Gem::Version
229
229
  version: '0'
230
230
  type: :runtime
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - '>='
234
+ - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: babel-transpiler
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - '>='
241
+ - - ">="
242
242
  - !ruby/object:Gem::Version
243
243
  version: 0.7.0
244
244
  type: :runtime
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - '>='
248
+ - - ">="
249
249
  - !ruby/object:Gem::Version
250
250
  version: 0.7.0
251
251
  description: Compile your JSX on demand or precompile for production.
@@ -255,8 +255,19 @@ executables: []
255
255
  extensions: []
256
256
  extra_rdoc_files: []
257
257
  files:
258
+ - CHANGELOG.md
259
+ - LICENSE
260
+ - README.md
258
261
  - lib/assets/javascripts/JSXTransformer.js
259
- - lib/assets/javascripts/react_ujs.js.erb
262
+ - lib/assets/javascripts/react_ujs.js
263
+ - lib/assets/javascripts/react_ujs_event_setup.js
264
+ - lib/assets/javascripts/react_ujs_mount.js
265
+ - lib/assets/javascripts/react_ujs_native.js
266
+ - lib/assets/javascripts/react_ujs_turbolinks.js
267
+ - lib/assets/javascripts/react_ujs_turbolinks_classic.js
268
+ - lib/assets/javascripts/react_ujs_turbolinks_classic_deprecated.js
269
+ - lib/assets/react-source/development-with-addons/react-server.js
270
+ - lib/assets/react-source/development-with-addons/react.js
260
271
  - lib/assets/react-source/development/react-addons-clone-with-props.js
261
272
  - lib/assets/react-source/development/react-addons-create-fragment.js
262
273
  - lib/assets/react-source/development/react-addons-css-transition-group.js
@@ -268,8 +279,8 @@ files:
268
279
  - lib/assets/react-source/development/react-addons-update.js
269
280
  - lib/assets/react-source/development/react-server.js
270
281
  - lib/assets/react-source/development/react.js
271
- - lib/assets/react-source/development-with-addons/react-server.js
272
- - lib/assets/react-source/development-with-addons/react.js
282
+ - lib/assets/react-source/production-with-addons/react-server.js
283
+ - lib/assets/react-source/production-with-addons/react.js
273
284
  - lib/assets/react-source/production/react-addons-clone-with-props.js
274
285
  - lib/assets/react-source/production/react-addons-create-fragment.js
275
286
  - lib/assets/react-source/production/react-addons-css-transition-group.js
@@ -281,38 +292,33 @@ files:
281
292
  - lib/assets/react-source/production/react-addons-update.js
282
293
  - lib/assets/react-source/production/react-server.js
283
294
  - lib/assets/react-source/production/react.js
284
- - lib/assets/react-source/production-with-addons/react-server.js
285
- - lib/assets/react-source/production-with-addons/react.js
286
295
  - lib/generators/react/component_generator.rb
287
296
  - lib/generators/react/install_generator.rb
288
297
  - lib/generators/templates/component.es6.jsx
289
298
  - lib/generators/templates/component.js.jsx
290
299
  - lib/generators/templates/component.js.jsx.coffee
300
+ - lib/react-rails.rb
301
+ - lib/react/jsx.rb
291
302
  - lib/react/jsx/babel_transformer.rb
292
303
  - lib/react/jsx/jsx_transformer.rb
293
304
  - lib/react/jsx/processor.rb
294
305
  - lib/react/jsx/template.rb
295
- - lib/react/jsx.rb
306
+ - lib/react/rails.rb
296
307
  - lib/react/rails/asset_variant.rb
297
308
  - lib/react/rails/component_mount.rb
298
309
  - lib/react/rails/controller_lifecycle.rb
299
310
  - lib/react/rails/controller_renderer.rb
300
- - lib/react/rails/engine.rb
301
311
  - lib/react/rails/railtie.rb
302
312
  - lib/react/rails/version.rb
303
313
  - lib/react/rails/view_helper.rb
304
- - lib/react/rails.rb
314
+ - lib/react/server_rendering.rb
305
315
  - lib/react/server_rendering/environment_container.rb
306
316
  - lib/react/server_rendering/exec_js_renderer.rb
307
317
  - lib/react/server_rendering/manifest_container.rb
318
+ - lib/react/server_rendering/sprockets_renderer.rb
308
319
  - lib/react/server_rendering/sprockets_renderer/console_polyfill.js
309
320
  - lib/react/server_rendering/sprockets_renderer/console_replay.js
310
- - lib/react/server_rendering/sprockets_renderer.rb
311
- - lib/react/server_rendering.rb
312
- - lib/react-rails.rb
313
- - README.md
314
- - CHANGELOG.md
315
- - LICENSE
321
+ - lib/react/server_rendering/yaml_manifest_container.rb
316
322
  homepage: https://github.com/reactjs/react-rails
317
323
  licenses:
318
324
  - Apache-2.0
@@ -323,17 +329,17 @@ require_paths:
323
329
  - lib
324
330
  required_ruby_version: !ruby/object:Gem::Requirement
325
331
  requirements:
326
- - - '>='
332
+ - - ">="
327
333
  - !ruby/object:Gem::Version
328
334
  version: '0'
329
335
  required_rubygems_version: !ruby/object:Gem::Requirement
330
336
  requirements:
331
- - - '>='
337
+ - - ">="
332
338
  - !ruby/object:Gem::Version
333
339
  version: '0'
334
340
  requirements: []
335
341
  rubyforge_project:
336
- rubygems_version: 2.0.14
342
+ rubygems_version: 2.5.1
337
343
  signing_key:
338
344
  specification_version: 4
339
345
  summary: React/JSX adapter for the Ruby on Rails asset pipeline.
@@ -1,15 +0,0 @@
1
- module React
2
- module Rails
3
- class Engine < ::Rails::Engine
4
- initializer "react_rails.setup_engine", :group => :all do |app|
5
- sprockets_env = app.assets || Sprockets # Sprockets 3.x expects this in a different place
6
- if Gem::Version.new(Sprockets::VERSION) >= Gem::Version.new("3.0.0")
7
- sprockets_env.register_mime_type("application/jsx", extensions: [".jsx", ".js.jsx", ".es.jsx", ".es6.jsx"])
8
- sprockets_env.register_transformer("application/jsx", "application/javascript", React::JSX::Processor)
9
- else
10
- sprockets_env.register_engine(".jsx", React::JSX::Template)
11
- end
12
- end
13
- end
14
- end
15
- end