react-rails 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,197 +1,253 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: react-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
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: 2015-04-07 00:00:00.000000000 Z
11
+ date: 2015-07-09 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
+ - !ruby/object:Gem::Dependency
42
+ name: codeclimate-test-reporter
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: coffee-rails
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ">="
59
+ - - '>='
46
60
  - !ruby/object:Gem::Version
47
61
  version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ">="
66
+ - - '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: es5-shim-rails
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ">="
73
+ - - '>='
60
74
  - !ruby/object:Gem::Version
61
75
  version: 2.0.5
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ">="
80
+ - - '>='
67
81
  - !ruby/object:Gem::Version
68
82
  version: 2.0.5
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-minitest
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: jbuilder
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
- - - ">="
115
+ - - '>='
74
116
  - !ruby/object:Gem::Version
75
117
  version: '0'
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
- - - ">="
122
+ - - '>='
81
123
  - !ruby/object:Gem::Version
82
124
  version: '0'
83
125
  - !ruby/object:Gem::Dependency
84
126
  name: poltergeist
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
- - - ">="
129
+ - - '>='
88
130
  - !ruby/object:Gem::Version
89
131
  version: 0.3.3
90
132
  type: :development
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
- - - ">="
136
+ - - '>='
95
137
  - !ruby/object:Gem::Version
96
138
  version: 0.3.3
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: test-unit
99
141
  requirement: !ruby/object:Gem::Requirement
100
142
  requirements:
101
- - - "~>"
143
+ - - ~>
102
144
  - !ruby/object:Gem::Version
103
145
  version: '2.5'
104
146
  type: :development
105
147
  prerelease: false
106
148
  version_requirements: !ruby/object:Gem::Requirement
107
149
  requirements:
108
- - - "~>"
150
+ - - ~>
109
151
  - !ruby/object:Gem::Version
110
152
  version: '2.5'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: turbolinks
113
155
  requirement: !ruby/object:Gem::Requirement
114
156
  requirements:
115
- - - ">="
157
+ - - '>='
116
158
  - !ruby/object:Gem::Version
117
159
  version: 2.0.0
118
160
  type: :development
119
161
  prerelease: false
120
162
  version_requirements: !ruby/object:Gem::Requirement
121
163
  requirements:
122
- - - ">="
164
+ - - '>='
123
165
  - !ruby/object:Gem::Version
124
166
  version: 2.0.0
125
167
  - !ruby/object:Gem::Dependency
126
168
  name: coffee-script-source
127
169
  requirement: !ruby/object:Gem::Requirement
128
170
  requirements:
129
- - - "~>"
171
+ - - ~>
130
172
  - !ruby/object:Gem::Version
131
173
  version: '1.8'
132
174
  type: :runtime
133
175
  prerelease: false
134
176
  version_requirements: !ruby/object:Gem::Requirement
135
177
  requirements:
136
- - - "~>"
178
+ - - ~>
137
179
  - !ruby/object:Gem::Version
138
180
  version: '1.8'
139
181
  - !ruby/object:Gem::Dependency
140
182
  name: connection_pool
141
183
  requirement: !ruby/object:Gem::Requirement
142
184
  requirements:
143
- - - ">="
185
+ - - '>='
144
186
  - !ruby/object:Gem::Version
145
187
  version: '0'
146
188
  type: :runtime
147
189
  prerelease: false
148
190
  version_requirements: !ruby/object:Gem::Requirement
149
191
  requirements:
150
- - - ">="
192
+ - - '>='
151
193
  - !ruby/object:Gem::Version
152
194
  version: '0'
153
195
  - !ruby/object:Gem::Dependency
154
196
  name: execjs
155
197
  requirement: !ruby/object:Gem::Requirement
156
198
  requirements:
157
- - - ">="
199
+ - - '>='
158
200
  - !ruby/object:Gem::Version
159
201
  version: '0'
160
202
  type: :runtime
161
203
  prerelease: false
162
204
  version_requirements: !ruby/object:Gem::Requirement
163
205
  requirements:
164
- - - ">="
206
+ - - '>='
165
207
  - !ruby/object:Gem::Version
166
208
  version: '0'
167
209
  - !ruby/object:Gem::Dependency
168
210
  name: rails
169
211
  requirement: !ruby/object:Gem::Requirement
170
212
  requirements:
171
- - - ">="
213
+ - - '>='
172
214
  - !ruby/object:Gem::Version
173
- version: '3.1'
215
+ version: '3.2'
174
216
  type: :runtime
175
217
  prerelease: false
176
218
  version_requirements: !ruby/object:Gem::Requirement
177
219
  requirements:
178
- - - ">="
220
+ - - '>='
179
221
  - !ruby/object:Gem::Version
180
- version: '3.1'
222
+ version: '3.2'
181
223
  - !ruby/object:Gem::Dependency
182
- name: react-source
224
+ name: tilt
183
225
  requirement: !ruby/object:Gem::Requirement
184
226
  requirements:
185
- - - "~>"
227
+ - - '>='
186
228
  - !ruby/object:Gem::Version
187
- version: '0.13'
229
+ version: '0'
188
230
  type: :runtime
189
231
  prerelease: false
190
232
  version_requirements: !ruby/object:Gem::Requirement
191
233
  requirements:
192
- - - "~>"
234
+ - - '>='
193
235
  - !ruby/object:Gem::Version
194
- version: '0.13'
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: babel-transpiler
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - '>='
242
+ - !ruby/object:Gem::Version
243
+ version: 0.7.0
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - '>='
249
+ - !ruby/object:Gem::Version
250
+ version: 0.7.0
195
251
  description: Compile your JSX on demand or precompile for production.
196
252
  email:
197
253
  - paul@oshannessy.com
@@ -199,25 +255,34 @@ executables: []
199
255
  extensions: []
200
256
  extra_rdoc_files: []
201
257
  files:
202
- - LICENSE
203
- - README.md
258
+ - lib/assets/javascripts/JSXTransformer.js
204
259
  - lib/assets/javascripts/react_ujs.js.erb
260
+ - lib/assets/react-source/development/react.js
261
+ - lib/assets/react-source/development-with-addons/react.js
262
+ - lib/assets/react-source/production/react.js
263
+ - lib/assets/react-source/production-with-addons/react.js
205
264
  - lib/generators/react/component_generator.rb
206
265
  - lib/generators/react/install_generator.rb
207
266
  - lib/generators/templates/component.js.jsx
208
- - lib/react-rails.rb
209
- - lib/react/console.rb
210
- - lib/react/jsx.rb
267
+ - lib/react/jsx/babel_transformer.rb
268
+ - lib/react/jsx/jsx_transformer.rb
211
269
  - lib/react/jsx/template.rb
212
- - lib/react/rails.rb
270
+ - lib/react/jsx.rb
271
+ - lib/react/rails/asset_variant.rb
213
272
  - lib/react/rails/engine.rb
214
273
  - lib/react/rails/railtie.rb
215
274
  - lib/react/rails/version.rb
216
275
  - lib/react/rails/view_helper.rb
217
- - lib/react/renderer.rb
276
+ - lib/react/rails.rb
277
+ - lib/react/server_rendering/exec_js_renderer.rb
278
+ - lib/react/server_rendering/sprockets_renderer.rb
279
+ - lib/react/server_rendering.rb
280
+ - lib/react-rails.rb
281
+ - README.md
282
+ - LICENSE
218
283
  homepage: https://github.com/reactjs/react-rails
219
284
  licenses:
220
- - APL 2.0
285
+ - Apache-2.0
221
286
  metadata: {}
222
287
  post_install_message:
223
288
  rdoc_options: []
@@ -225,17 +290,17 @@ require_paths:
225
290
  - lib
226
291
  required_ruby_version: !ruby/object:Gem::Requirement
227
292
  requirements:
228
- - - ">="
293
+ - - '>='
229
294
  - !ruby/object:Gem::Version
230
295
  version: '0'
231
296
  required_rubygems_version: !ruby/object:Gem::Requirement
232
297
  requirements:
233
- - - ">="
298
+ - - '>='
234
299
  - !ruby/object:Gem::Version
235
300
  version: '0'
236
301
  requirements: []
237
302
  rubyforge_project:
238
- rubygems_version: 2.4.5
303
+ rubygems_version: 2.0.14
239
304
  signing_key:
240
305
  specification_version: 4
241
306
  summary: React/JSX adapter for the Ruby on Rails asset pipeline.
@@ -1,30 +0,0 @@
1
- module React
2
- class Console
3
- def self.polyfill_js
4
- # Overwrite global `console` object with something that can capture messages
5
- # to return to client later for debugging
6
- <<-JS
7
- var console = { history: [] };
8
- ['error', 'log', 'info', 'warn'].forEach(function (fn) {
9
- console[fn] = function () {
10
- console.history.push({level: fn, arguments: Array.prototype.slice.call(arguments)});
11
- };
12
- });
13
- JS
14
- end
15
-
16
- def self.replay_as_script_js
17
- <<-JS
18
- (function (history) {
19
- if (history && history.length > 0) {
20
- result += '\\n<scr'+'ipt>';
21
- history.forEach(function (msg) {
22
- result += '\\nconsole.' + msg.level + '.apply(console, ' + JSON.stringify(msg.arguments) + ');';
23
- });
24
- result += '\\n</scr'+'ipt>';
25
- }
26
- })(console.history);
27
- JS
28
- end
29
- end
30
- end
@@ -1,83 +0,0 @@
1
- require 'connection_pool'
2
-
3
- module React
4
- class Renderer
5
-
6
- class PrerenderError < RuntimeError
7
- def initialize(component_name, props, js_message)
8
- message = ["Encountered error \"#{js_message}\" when prerendering #{component_name} with #{props}",
9
- js_message.backtrace.join("\n")].join("\n")
10
- super(message)
11
- end
12
- end
13
-
14
- cattr_accessor :pool
15
-
16
- def self.setup!(react_js, components_js, replay_console, args={})
17
- args.assert_valid_keys(:size, :timeout)
18
- @@react_js = react_js
19
- @@components_js = components_js
20
- @@replay_console = replay_console
21
- @@pool.shutdown{} if @@pool
22
- reset_combined_js!
23
- default_pool_options = {:size =>10, :timeout => 20}
24
- @@pool = ConnectionPool.new(default_pool_options.merge(args)) { self.new }
25
- end
26
-
27
- def self.render(component, args={})
28
- @@pool.with do |renderer|
29
- renderer.render(component, args)
30
- end
31
- end
32
-
33
- def self.react_props(args={})
34
- if args.is_a? String
35
- args
36
- else
37
- args.to_json
38
- end
39
- end
40
-
41
- def context
42
- @context ||= ExecJS.compile(self.class.combined_js)
43
- end
44
-
45
- def render(component, args={})
46
- react_props = React::Renderer.react_props(args)
47
- jscode = <<-JS
48
- (function () {
49
- var result = React.renderToString(React.createElement(#{component}, #{react_props}));
50
- #{@@replay_console ? React::Console.replay_as_script_js : ''}
51
- return result;
52
- })()
53
- JS
54
- context.eval(jscode).html_safe
55
- rescue ExecJS::ProgramError => e
56
- raise PrerenderError.new(component, react_props, e)
57
- end
58
-
59
-
60
- private
61
-
62
- def self.setup_combined_js
63
- <<-JS
64
- var global = global || this;
65
- var self = self || this;
66
- var window = window || this;
67
- #{React::Console.polyfill_js}
68
- #{@@react_js.call};
69
- React = global.React;
70
- #{@@components_js.call};
71
- JS
72
- end
73
-
74
- def self.reset_combined_js!
75
- @@combined_js = setup_combined_js
76
- end
77
-
78
- def self.combined_js
79
- @@combined_js
80
- end
81
-
82
- end
83
- end