hyperloop-config 0.9.11 → 0.99.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 +5 -5
- data/.gitignore +7 -1
- data/.travis.yml +29 -0
- data/DOCS.md +45 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +299 -0
- data/README.md +58 -30
- data/Rakefile +9 -0
- data/hyperloop-config.gemspec +32 -26
- data/lib/hyperloop/active_support_string_inquirer.rb +32 -0
- data/lib/hyperloop/autoloader.rb +138 -0
- data/lib/hyperloop/autoloader_starter.rb +15 -0
- data/lib/hyperloop/config/version.rb +5 -0
- data/lib/hyperloop/env.rb +10 -0
- data/lib/hyperloop/environment/development/hyperloop_env.rb +5 -0
- data/lib/hyperloop/environment/production/hyperloop_env.rb +5 -0
- data/lib/hyperloop/environment/staging/hyperloop_env.rb +5 -0
- data/lib/hyperloop/environment/test/hyperloop_env.rb +5 -0
- data/lib/hyperloop/imports.rb +35 -50
- data/lib/hyperloop/js_imports.rb +18 -0
- data/lib/hyperloop/on_error.rb +5 -0
- data/lib/hyperloop/rail_tie.rb +35 -12
- data/lib/hyperloop/string.rb +6 -0
- data/lib/hyperloop-config.rb +18 -0
- data/lib/hyperloop-loader.js +1 -1
- data/lib/hyperloop-prerender-loader.js +1 -1
- metadata +127 -38
- data/CODE_OF_CONDUCT.md +0 -49
- data/LICENSE.txt +0 -21
- data/lib/hyperloop-loader-system.js.erb +0 -1
- data/lib/hyperloop-prerender-loader-system.js.erb +0 -1
data/lib/hyperloop/rail_tie.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
module Hyperloop
|
2
2
|
define_setting :add_hyperloop_paths, true
|
3
|
+
|
4
|
+
define_setting :prerendering_files, ['hyperloop-prerender-loader.js']
|
5
|
+
|
3
6
|
class Railtie < ::Rails::Railtie
|
4
7
|
|
5
8
|
class Options < ActiveSupport::OrderedOptions
|
@@ -9,18 +12,38 @@ module Hyperloop
|
|
9
12
|
|
10
13
|
def auto_config=(on)
|
11
14
|
Rails.configuration.tap do |config|
|
12
|
-
if on
|
15
|
+
if [:on, 'on', true].include?(on)
|
13
16
|
config.eager_load_paths += %W(#{config.root}/app/hyperloop/models)
|
14
|
-
config.
|
15
|
-
# config.eager_load_paths += %W(#{config.root}/app/hyperloop/stores)
|
16
|
-
# config.autoload_paths += %W(#{config.root}/app/hyperloop/stores)
|
17
|
+
config.eager_load_paths += %W(#{config.root}/app/hyperloop/models/concerns)
|
17
18
|
config.eager_load_paths += %W(#{config.root}/app/hyperloop/operations)
|
18
|
-
|
19
|
+
# rails will add everything immediately below app to eager and auto load, so we need to remove it
|
20
|
+
delete_first config.eager_load_paths, "#{config.root}/app/hyperloop"
|
19
21
|
|
22
|
+
unless Rails.env.production?
|
23
|
+
config.autoload_paths += %W(#{config.root}/app/hyperloop/models)
|
24
|
+
config.autoload_paths += %W(#{config.root}/app/hyperloop/models/concerns)
|
25
|
+
config.autoload_paths += %W(#{config.root}/app/hyperloop/operations)
|
26
|
+
# config.eager_load_paths += %W(#{config.root}/app/hyperloop/stores)
|
27
|
+
# config.autoload_paths += %W(#{config.root}/app/hyperloop/stores)
|
28
|
+
delete_first config.autoload_paths, "#{config.root}/app/hyperloop"
|
29
|
+
end
|
30
|
+
# possible alternative way in conjunction with below
|
31
|
+
# %w[stores operations models components].each do |hp|
|
32
|
+
# hps = ::Rails.root.join('app', 'hyperloop', hp).to_s
|
33
|
+
# config.assets.paths.delete(hps)
|
34
|
+
# config.assets.paths.unshift(hps)
|
35
|
+
# end
|
20
36
|
config.assets.paths.unshift ::Rails.root.join('app', 'hyperloop').to_s
|
37
|
+
if Rails.const_defined? 'Hyperloop::Console'
|
38
|
+
config.assets.precompile += %w( hyper-console-client.css )
|
39
|
+
config.assets.precompile += %w( hyper-console-client.min.js )
|
40
|
+
config.assets.precompile += %w( action_cable.js ) if Rails.const_defined? 'ActionCable'
|
41
|
+
end
|
21
42
|
else
|
22
43
|
delete_first config.eager_load_paths, "#{config.root}/app/hyperloop/models"
|
44
|
+
delete_first config.eager_load_paths, "#{config.root}/app/hyperloop/models/concerns"
|
23
45
|
delete_first config.autoload_paths, "#{config.root}/app/hyperloop/models"
|
46
|
+
delete_first config.autoload_paths, "#{config.root}/app/hyperloop/models/concerns"
|
24
47
|
# delete_first config.eager_load_paths, "#{config.root}/app/hyperloop/stores"
|
25
48
|
# delete_first config.autoload_paths, "#{config.root}/app/hyperloop/stores"
|
26
49
|
delete_first config.eager_load_paths, "#{config.root}/app/hyperloop/operations"
|
@@ -41,20 +64,20 @@ module Hyperloop
|
|
41
64
|
config.hyperloop.auto_config = true
|
42
65
|
end
|
43
66
|
|
44
|
-
FILES = {files: ['hyperloop-prerender-loader.js']}
|
45
|
-
|
46
67
|
config.after_initialize do |app|
|
47
|
-
next unless config.hyperloop.auto_config
|
68
|
+
next unless [:on, 'on', true].include?(config.hyperloop.auto_config)
|
69
|
+
# possible alternative way
|
70
|
+
# %w[stores operations models components].each do |hp|
|
71
|
+
# Hyperloop.import_tree('hyperloop/' + hp)
|
72
|
+
# end
|
48
73
|
Hyperloop.import_tree('hyperloop')
|
49
74
|
if config.respond_to?(:react)
|
50
75
|
if (opts = config.react.server_renderer_options)
|
51
|
-
opts.merge!
|
76
|
+
opts.merge!(files: Hyperloop.prerendering_files)
|
52
77
|
else
|
53
|
-
config.react.server_renderer_options =
|
78
|
+
config.react.server_renderer_options = {files: Hyperloop.prerendering_files}
|
54
79
|
end
|
55
80
|
end
|
56
|
-
app.assets.find_asset('hyperloop-prerender-loader-system')
|
57
|
-
app.assets.find_asset('hyperloop-loader-system')
|
58
81
|
end
|
59
82
|
end
|
60
83
|
end
|
data/lib/hyperloop-config.rb
CHANGED
@@ -1,17 +1,35 @@
|
|
1
1
|
if RUBY_ENGINE == 'opal'
|
2
|
+
require 'hyperloop/string'
|
2
3
|
require 'hyperloop/client_stubs'
|
3
4
|
require 'hyperloop/context'
|
5
|
+
require 'hyperloop/js_imports'
|
4
6
|
require 'hyperloop/on_client'
|
7
|
+
require 'hyperloop/active_support_string_inquirer.rb'
|
8
|
+
require 'hyperloop_env'
|
5
9
|
else
|
6
10
|
require 'opal'
|
11
|
+
require 'opal-browser'
|
12
|
+
begin
|
13
|
+
require 'opal-rails' if defined? Rails
|
14
|
+
rescue LoadError
|
15
|
+
end
|
7
16
|
require 'hyperloop/config_settings'
|
8
17
|
require 'hyperloop/context'
|
9
18
|
require 'hyperloop/imports'
|
19
|
+
require 'hyperloop/js_imports'
|
10
20
|
require 'hyperloop/client_readers'
|
11
21
|
require 'hyperloop/on_client'
|
12
22
|
require 'hyperloop/rail_tie' if defined? Rails
|
23
|
+
require 'hyperloop/active_support_string_inquirer.rb' unless defined? ActiveSupport
|
24
|
+
require 'hyperloop/env'
|
25
|
+
require 'hyperloop/on_error'
|
13
26
|
Hyperloop.import 'opal', gem: true
|
14
27
|
Hyperloop.import 'browser', client_only: true
|
15
28
|
Hyperloop.import 'hyperloop-config', gem: true
|
29
|
+
Hyperloop.import 'hyperloop/autoloader'
|
30
|
+
Hyperloop.import 'hyperloop/autoloader_starter'
|
31
|
+
# based on the environment pick the directory containing the file with the matching
|
32
|
+
# value for the client. This avoids use of ERB for builds outside of sprockets environment
|
33
|
+
Opal.append_path(File.expand_path("../hyperloop/environment/#{Hyperloop.env}/", __FILE__).untaint)
|
16
34
|
Opal.append_path(File.expand_path('../', __FILE__).untaint)
|
17
35
|
end
|
data/lib/hyperloop-loader.js
CHANGED
metadata
CHANGED
@@ -1,31 +1,80 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyperloop-config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.99.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Mitch VanDuyn
|
8
|
+
- Jan Biedermann
|
8
9
|
autorequire:
|
9
10
|
bindir: exe
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2018-09-24 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: libv8
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 6.3.0
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 6.3.0
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: mini_racer
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.1.15
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 0.1.15
|
13
42
|
- !ruby/object:Gem::Dependency
|
14
43
|
name: opal
|
15
44
|
requirement: !ruby/object:Gem::Requirement
|
16
45
|
requirements:
|
17
46
|
- - ">="
|
18
47
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
48
|
+
version: 0.11.0
|
49
|
+
- - "<"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: 0.12.0
|
20
52
|
type: :runtime
|
21
53
|
prerelease: false
|
22
54
|
version_requirements: !ruby/object:Gem::Requirement
|
23
55
|
requirements:
|
24
56
|
- - ">="
|
25
57
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
58
|
+
version: 0.11.0
|
59
|
+
- - "<"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.12.0
|
27
62
|
- !ruby/object:Gem::Dependency
|
28
63
|
name: opal-browser
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.2.0
|
69
|
+
type: :runtime
|
70
|
+
prerelease: false
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.2.0
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: uglifier
|
29
78
|
requirement: !ruby/object:Gem::Requirement
|
30
79
|
requirements:
|
31
80
|
- - ">="
|
@@ -44,58 +93,58 @@ dependencies:
|
|
44
93
|
requirements:
|
45
94
|
- - "~>"
|
46
95
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
96
|
+
version: 1.16.0
|
48
97
|
type: :development
|
49
98
|
prerelease: false
|
50
99
|
version_requirements: !ruby/object:Gem::Requirement
|
51
100
|
requirements:
|
52
101
|
- - "~>"
|
53
102
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
103
|
+
version: 1.16.0
|
55
104
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
105
|
+
name: chromedriver-helper
|
57
106
|
requirement: !ruby/object:Gem::Requirement
|
58
107
|
requirements:
|
59
|
-
- - "
|
108
|
+
- - ">="
|
60
109
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
110
|
+
version: '0'
|
62
111
|
type: :development
|
63
112
|
prerelease: false
|
64
113
|
version_requirements: !ruby/object:Gem::Requirement
|
65
114
|
requirements:
|
66
|
-
- - "
|
115
|
+
- - ">="
|
67
116
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
117
|
+
version: '0'
|
69
118
|
- !ruby/object:Gem::Dependency
|
70
119
|
name: hyper-spec
|
71
120
|
requirement: !ruby/object:Gem::Requirement
|
72
121
|
requirements:
|
73
|
-
- -
|
122
|
+
- - '='
|
74
123
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
124
|
+
version: 0.99.0
|
76
125
|
type: :development
|
77
126
|
prerelease: false
|
78
127
|
version_requirements: !ruby/object:Gem::Requirement
|
79
128
|
requirements:
|
80
|
-
- -
|
129
|
+
- - '='
|
81
130
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
131
|
+
version: 0.99.0
|
83
132
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
133
|
+
name: opal-rails
|
85
134
|
requirement: !ruby/object:Gem::Requirement
|
86
135
|
requirements:
|
87
|
-
- - "
|
136
|
+
- - "~>"
|
88
137
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
138
|
+
version: 0.9.4
|
90
139
|
type: :development
|
91
140
|
prerelease: false
|
92
141
|
version_requirements: !ruby/object:Gem::Requirement
|
93
142
|
requirements:
|
94
|
-
- - "
|
143
|
+
- - "~>"
|
95
144
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
145
|
+
version: 0.9.4
|
97
146
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
147
|
+
name: pry
|
99
148
|
requirement: !ruby/object:Gem::Requirement
|
100
149
|
requirements:
|
101
150
|
- - ">="
|
@@ -109,7 +158,7 @@ dependencies:
|
|
109
158
|
- !ruby/object:Gem::Version
|
110
159
|
version: '0'
|
111
160
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
161
|
+
name: puma
|
113
162
|
requirement: !ruby/object:Gem::Requirement
|
114
163
|
requirements:
|
115
164
|
- - ">="
|
@@ -123,21 +172,21 @@ dependencies:
|
|
123
172
|
- !ruby/object:Gem::Version
|
124
173
|
version: '0'
|
125
174
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
175
|
+
name: rails
|
127
176
|
requirement: !ruby/object:Gem::Requirement
|
128
177
|
requirements:
|
129
178
|
- - ">="
|
130
179
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
180
|
+
version: 4.0.0
|
132
181
|
type: :development
|
133
182
|
prerelease: false
|
134
183
|
version_requirements: !ruby/object:Gem::Requirement
|
135
184
|
requirements:
|
136
185
|
- - ">="
|
137
186
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
187
|
+
version: 4.0.0
|
139
188
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
189
|
+
name: rake
|
141
190
|
requirement: !ruby/object:Gem::Requirement
|
142
191
|
requirements:
|
143
192
|
- - ">="
|
@@ -151,21 +200,35 @@ dependencies:
|
|
151
200
|
- !ruby/object:Gem::Version
|
152
201
|
version: '0'
|
153
202
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
203
|
+
name: rspec
|
155
204
|
requirement: !ruby/object:Gem::Requirement
|
156
205
|
requirements:
|
157
|
-
- - "
|
206
|
+
- - "~>"
|
158
207
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
208
|
+
version: 3.7.0
|
160
209
|
type: :development
|
161
210
|
prerelease: false
|
162
211
|
version_requirements: !ruby/object:Gem::Requirement
|
163
212
|
requirements:
|
164
|
-
- - "
|
213
|
+
- - "~>"
|
165
214
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
215
|
+
version: 3.7.0
|
167
216
|
- !ruby/object:Gem::Dependency
|
168
217
|
name: rubocop
|
218
|
+
requirement: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - "~>"
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 0.51.0
|
223
|
+
type: :development
|
224
|
+
prerelease: false
|
225
|
+
version_requirements: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - "~>"
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: 0.51.0
|
230
|
+
- !ruby/object:Gem::Dependency
|
231
|
+
name: sqlite3
|
169
232
|
requirement: !ruby/object:Gem::Requirement
|
170
233
|
requirements:
|
171
234
|
- - ">="
|
@@ -178,37 +241,63 @@ dependencies:
|
|
178
241
|
- - ">="
|
179
242
|
- !ruby/object:Gem::Version
|
180
243
|
version: '0'
|
244
|
+
- !ruby/object:Gem::Dependency
|
245
|
+
name: timecop
|
246
|
+
requirement: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - "~>"
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 0.8.1
|
251
|
+
type: :development
|
252
|
+
prerelease: false
|
253
|
+
version_requirements: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - "~>"
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 0.8.1
|
181
258
|
description:
|
182
259
|
email:
|
183
260
|
- mitch@catprint.com
|
261
|
+
- jan@kursator.com
|
184
262
|
executables: []
|
185
263
|
extensions: []
|
186
264
|
extra_rdoc_files: []
|
187
265
|
files:
|
188
266
|
- ".gitignore"
|
189
|
-
-
|
267
|
+
- ".travis.yml"
|
268
|
+
- DOCS.md
|
190
269
|
- Gemfile
|
191
|
-
-
|
270
|
+
- Gemfile.lock
|
192
271
|
- README.md
|
193
272
|
- Rakefile
|
194
273
|
- hyperloop-config.gemspec
|
195
274
|
- lib/hyperloop-config.rb
|
196
275
|
- lib/hyperloop-loader-application.rb.erb
|
197
276
|
- lib/hyperloop-loader-system-code.rb.erb
|
198
|
-
- lib/hyperloop-loader-system.js.erb
|
199
277
|
- lib/hyperloop-loader.js
|
200
278
|
- lib/hyperloop-prerender-loader-application.rb.erb
|
201
279
|
- lib/hyperloop-prerender-loader-system-code.rb.erb
|
202
|
-
- lib/hyperloop-prerender-loader-system.js.erb
|
203
280
|
- lib/hyperloop-prerender-loader.js
|
281
|
+
- lib/hyperloop/active_support_string_inquirer.rb
|
282
|
+
- lib/hyperloop/autoloader.rb
|
283
|
+
- lib/hyperloop/autoloader_starter.rb
|
204
284
|
- lib/hyperloop/client_readers.rb
|
205
285
|
- lib/hyperloop/client_stubs.rb
|
286
|
+
- lib/hyperloop/config/version.rb
|
206
287
|
- lib/hyperloop/config_settings.rb
|
207
288
|
- lib/hyperloop/context.rb
|
289
|
+
- lib/hyperloop/env.rb
|
290
|
+
- lib/hyperloop/environment/development/hyperloop_env.rb
|
291
|
+
- lib/hyperloop/environment/production/hyperloop_env.rb
|
292
|
+
- lib/hyperloop/environment/staging/hyperloop_env.rb
|
293
|
+
- lib/hyperloop/environment/test/hyperloop_env.rb
|
208
294
|
- lib/hyperloop/imports.rb
|
295
|
+
- lib/hyperloop/js_imports.rb
|
209
296
|
- lib/hyperloop/on_client.rb
|
297
|
+
- lib/hyperloop/on_error.rb
|
210
298
|
- lib/hyperloop/rail_tie.rb
|
211
|
-
|
299
|
+
- lib/hyperloop/string.rb
|
300
|
+
homepage: http://ruby-hyperloop.org
|
212
301
|
licenses:
|
213
302
|
- MIT
|
214
303
|
metadata: {}
|
@@ -228,7 +317,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
228
317
|
version: '0'
|
229
318
|
requirements: []
|
230
319
|
rubyforge_project:
|
231
|
-
rubygems_version: 2.
|
320
|
+
rubygems_version: 2.7.7
|
232
321
|
signing_key:
|
233
322
|
specification_version: 4
|
234
323
|
summary: Provides a single point configuration module for hyperloop gems
|