hyperstack-config 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.travis.yml +29 -0
  4. data/Gemfile +3 -0
  5. data/Gemfile.lock +303 -0
  6. data/README.md +73 -0
  7. data/Rakefile +11 -0
  8. data/bin/hyperstack-hotloader +22 -0
  9. data/hyperstack-config.gemspec +45 -0
  10. data/lib/hyperstack-config.rb +45 -0
  11. data/lib/hyperstack-hotloader-config.js.erb +7 -0
  12. data/lib/hyperstack-loader-application.rb.erb +1 -0
  13. data/lib/hyperstack-loader-system-code.rb.erb +1 -0
  14. data/lib/hyperstack-loader.js +6 -0
  15. data/lib/hyperstack-prerender-loader-application.rb.erb +1 -0
  16. data/lib/hyperstack-prerender-loader-system-code.rb.erb +1 -0
  17. data/lib/hyperstack-prerender-loader.js +4 -0
  18. data/lib/hyperstack/active_support_string_inquirer.rb +32 -0
  19. data/lib/hyperstack/autoloader.rb +140 -0
  20. data/lib/hyperstack/autoloader_starter.rb +15 -0
  21. data/lib/hyperstack/boot.rb +41 -0
  22. data/lib/hyperstack/client_readers.rb +19 -0
  23. data/lib/hyperstack/client_stubs.rb +12 -0
  24. data/lib/hyperstack/config/version.rb +5 -0
  25. data/lib/hyperstack/config_settings.rb +49 -0
  26. data/lib/hyperstack/context.rb +36 -0
  27. data/lib/hyperstack/deprecation_warning.rb +10 -0
  28. data/lib/hyperstack/env.rb +10 -0
  29. data/lib/hyperstack/environment/development/hyperstack_env.rb +5 -0
  30. data/lib/hyperstack/environment/production/hyperstack_env.rb +5 -0
  31. data/lib/hyperstack/environment/staging/hyperstack_env.rb +5 -0
  32. data/lib/hyperstack/environment/test/hyperstack_env.rb +5 -0
  33. data/lib/hyperstack/hotloader.rb +129 -0
  34. data/lib/hyperstack/hotloader/add_error_boundry.rb +31 -0
  35. data/lib/hyperstack/hotloader/css_reloader.rb +41 -0
  36. data/lib/hyperstack/hotloader/server.rb +296 -0
  37. data/lib/hyperstack/hotloader/short_cut.js +9 -0
  38. data/lib/hyperstack/hotloader/socket.rb +136 -0
  39. data/lib/hyperstack/hotloader/stack-trace.js +2977 -0
  40. data/lib/hyperstack/hotloader/stub.rb +10 -0
  41. data/lib/hyperstack/imports.rb +104 -0
  42. data/lib/hyperstack/js_imports.rb +18 -0
  43. data/lib/hyperstack/on_client.rb +5 -0
  44. data/lib/hyperstack/on_error.rb +5 -0
  45. data/lib/hyperstack/rail_tie.rb +87 -0
  46. data/lib/hyperstack/string.rb +6 -0
  47. metadata +350 -0
@@ -0,0 +1,10 @@
1
+ # insure that stubs for Hyperstack::Hotloader.record and window.Hyperstack.hotloader are defined
2
+ # importing 'hyperstack/hotloader' will define/redefine these
3
+
4
+ module Hyperstack
5
+ unless defined? Hotloader
6
+ class Hotloader
7
+ def self.record(klass, instance_var, depth, *items); end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,104 @@
1
+ module Hyperstack
2
+
3
+ class << self
4
+ def import_list
5
+ @import_list ||= []
6
+ end
7
+
8
+ def import(value, gem: nil, cancelled: nil, client_only: nil, server_only: nil, tree: nil, js_import: nil, at_head: nil)
9
+ return if import_list.detect { |current_value, *_rest| value == current_value }
10
+ new_element = [
11
+ value, cancelled, !client_only, !server_only, (tree ? :tree : :gem), js_import
12
+ ]
13
+ import_list.send(at_head ? :unshift : :push, new_element)
14
+ end
15
+
16
+ alias imports import
17
+
18
+ def import_tree(value, cancelled: nil, client_only: nil, server_only: nil)
19
+ import(value, cancelled: cancelled, client_only: client_only, server_only: server_only, tree: true)
20
+ end
21
+
22
+ def cancel_import(value)
23
+ return unless value
24
+ current_spec = import_list.detect { |old_value, *_rest| value == old_value }
25
+ if current_spec
26
+ current_spec[1] = true
27
+ else
28
+ import_list << [value, true, true, true, false]
29
+ end
30
+ end
31
+
32
+ def cancel_webpack_imports
33
+ import_list.collect { |name, _c, _co, _so, _t, js_import, *_rest| js_import && name }
34
+ .each { |name| cancel_import name }
35
+ end
36
+
37
+ def handle_webpack
38
+ return unless defined? Webpacker
39
+ client_only_manifest = Webpacker.manifest.lookup("client_only.js")
40
+ client_and_server_manifest = Webpacker.manifest.lookup("client_and_server.js")
41
+ return unless client_only_manifest || client_and_server_manifest
42
+ cancel_webpack_imports
43
+ import client_only_manifest.split("/").last, client_only: true, at_head: true if client_only_manifest
44
+ import client_and_server_manifest.split("/").last, at_head: true if client_and_server_manifest
45
+ end
46
+
47
+ def generate_requires(mode, sys, file)
48
+ handle_webpack
49
+ import_list.collect do |value, cancelled, render_on_server, render_on_client, kind|
50
+ next if cancelled
51
+ next if (sys && kind == :tree) || (!sys && kind != :tree)
52
+ next if mode == :client && !render_on_client
53
+ next if mode == :server && !render_on_server
54
+ if kind == :tree
55
+ generate_require_tree(value, render_on_server, render_on_client)
56
+ elsif kind == :gem
57
+ r = "require '#{value}' #{client_guard(render_on_server, render_on_client)}"
58
+ puts " #{r}"
59
+ "puts \"#{r}\"; #{r}"
60
+ else
61
+ generate_directive(:require, value, file, render_on_server, render_on_client)
62
+ end
63
+ end.compact.join("\n")
64
+ end
65
+
66
+ def generate_directive(directive, to, file, render_on_server, render_on_client)
67
+ gem_path = File.expand_path('../', file).split('/')
68
+ comp_path = Rails.root.join('app', 'hyperstack', to).to_s.split('/')
69
+ while comp_path.first == gem_path.first do
70
+ gem_path.shift
71
+ comp_path.shift
72
+ end
73
+ r = "#{directive} '#{(['.'] + ['..'] * gem_path.length + comp_path).join('/')}' #{client_guard(render_on_server, render_on_client)}"
74
+ puts " #{r}"
75
+ "puts \"#{r}\"; #{r}"
76
+ end
77
+
78
+ def generate_require_tree(path, render_on_server, render_on_client)
79
+ base_name = Rails.root.join('app', path).to_s+'/'
80
+ Dir.glob(Rails.root.join('app', path, '**', '*')).sort.collect do |fname|
81
+ fname = fname.gsub(/^#{base_name}/, '')
82
+ fname = fname.gsub(/\.erb$/, '')
83
+ if fname =~ /(\.js$)|(\.rb$)/
84
+ fname = fname.gsub(/(\.js$)|(\.rb$)/, '')
85
+ r = "require '#{fname}' #{client_guard(render_on_server, render_on_client)}"
86
+ puts " #{r}"
87
+ "puts \"#{r}\"; #{r}"
88
+ end
89
+ end.compact.join("\n")
90
+ end
91
+
92
+ def client_guard(render_on_server, render_on_client)
93
+ if !render_on_server
94
+ '# CLIENT ONLY'
95
+ elsif !render_on_client
96
+ '# SERVER ONLY'
97
+ end
98
+ end
99
+
100
+ Hyperstack.define_setting(:compress_system_assets, true) do
101
+ puts "INFO: The configuration option 'compress_system_assets' is no longer used."
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,18 @@
1
+ module Hyperstack
2
+ class << self
3
+ def js_import(value, client_only: nil, server_only: nil, defines:)
4
+ defines = [*defines]
5
+ if RUBY_ENGINE != 'opal'
6
+ import(value, client_only: client_only, server_only: server_only, js_import: true)
7
+ else
8
+ on_server = `typeof Opal.global.document === 'undefined'`
9
+ return if (server_only && !on_server) || (client_only && on_server)
10
+ defines.each do |name|
11
+ next unless `Opal.global[#{name}] === undefined`
12
+ raise "The package #{name} was not found. Add it to the webpack "\
13
+ "#{client_only ? 'client_only.js' : 'client_and_server.js'} manifest."
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,5 @@
1
+ module Hyperstack
2
+ def self.on_client?
3
+ !(`typeof Opal.global.document === 'undefined'`) if RUBY_ENGINE == 'opal'
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Hyperstack
2
+ def self.on_error(err, reason, details)
3
+ # do whatever you want here... i.e. log, debug, etc
4
+ end
5
+ end
@@ -0,0 +1,87 @@
1
+ module Hyperstack
2
+
3
+ class Engine < ::Rails::Engine
4
+ end
5
+
6
+ define_setting :add_hyperstack_paths, true
7
+
8
+ define_setting :prerendering_files, ['hyperstack-prerender-loader.js']
9
+
10
+ class Railtie < ::Rails::Railtie
11
+
12
+ class Options < ActiveSupport::OrderedOptions
13
+ def delete_first(a, e)
14
+ a.delete_at(a.index(e) || a.length)
15
+ end
16
+
17
+ def auto_config=(on)
18
+ Rails.configuration.tap do |config|
19
+ if [:on, 'on', true].include?(on)
20
+ config.eager_load_paths += %W(#{config.root}/app/hyperstack/models)
21
+ config.eager_load_paths += %W(#{config.root}/app/hyperstack/models/concerns)
22
+ config.eager_load_paths += %W(#{config.root}/app/hyperstack/operations)
23
+ # rails will add everything immediately below app to eager and auto load, so we need to remove it
24
+ delete_first config.eager_load_paths, "#{config.root}/app/hyperstack"
25
+
26
+ unless Rails.env.production?
27
+ config.autoload_paths += %W(#{config.root}/app/hyperstack/models)
28
+ config.autoload_paths += %W(#{config.root}/app/hyperstack/models/concerns)
29
+ config.autoload_paths += %W(#{config.root}/app/hyperstack/operations)
30
+ # config.eager_load_paths += %W(#{config.root}/app/hyperstack/stores)
31
+ # config.autoload_paths += %W(#{config.root}/app/hyperstack/stores)
32
+ delete_first config.autoload_paths, "#{config.root}/app/hyperstack"
33
+ end
34
+ # possible alternative way in conjunction with below
35
+ # %w[stores operations models components].each do |hp|
36
+ # hps = ::Rails.root.join('app', 'hyperstack', hp).to_s
37
+ # config.assets.paths.delete(hps)
38
+ # config.assets.paths.unshift(hps)
39
+ # end
40
+ config.assets.paths.unshift ::Rails.root.join('app', 'hyperstack').to_s
41
+ if Rails.const_defined? 'Hyperstack::Console'
42
+ config.assets.precompile += %w( hyper-console-client.css )
43
+ config.assets.precompile += %w( hyper-console-client.min.js )
44
+ config.assets.precompile += %w( action_cable.js ) if Rails.const_defined? 'ActionCable'
45
+ end
46
+ else
47
+ delete_first config.eager_load_paths, "#{config.root}/app/hyperstack/models"
48
+ delete_first config.eager_load_paths, "#{config.root}/app/hyperstack/models/concerns"
49
+ delete_first config.autoload_paths, "#{config.root}/app/hyperstack/models"
50
+ delete_first config.autoload_paths, "#{config.root}/app/hyperstack/models/concerns"
51
+ # delete_first config.eager_load_paths, "#{config.root}/app/hyperstack/stores"
52
+ # delete_first config.autoload_paths, "#{config.root}/app/hyperstack/stores"
53
+ delete_first config.eager_load_paths, "#{config.root}/app/hyperstack/operations"
54
+ delete_first config.autoload_paths, "#{config.root}/app/hyperstack/operations"
55
+
56
+ delete_first config.assets.paths, ::Rails.root.join('app', 'hyperstack').to_s
57
+ end
58
+ end
59
+ super
60
+ end
61
+ end
62
+
63
+ # note in case of problems with eager load paths have a look at
64
+ # https://github.com/opal/opal-rails/blob/master/lib/opal/rails/engine.rb
65
+ config.hyperstack = Options.new
66
+
67
+ config.before_configuration do |app|
68
+ config.hyperstack.auto_config = true
69
+ end
70
+
71
+ config.after_initialize do |app|
72
+ next unless [:on, 'on', true].include?(config.hyperstack.auto_config)
73
+ # possible alternative way
74
+ # %w[stores operations models components].each do |hp|
75
+ # Hyperstack.import_tree('hyperstack/' + hp)
76
+ # end
77
+ Hyperstack.import_tree('hyperstack')
78
+ if config.respond_to?(:react)
79
+ if (opts = config.react.server_renderer_options)
80
+ opts.merge!(files: Hyperstack.prerendering_files)
81
+ else
82
+ config.react.server_renderer_options = {files: Hyperstack.prerendering_files}
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,6 @@
1
+ # This will eventually be moved into Opal
2
+ class String
3
+ def to_json
4
+ `JSON.stringify(#{self})`
5
+ end
6
+ end
metadata ADDED
@@ -0,0 +1,350 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hyperstack-config
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ platform: ruby
6
+ authors:
7
+ - Mitch VanDuyn
8
+ - Jan Biedermann
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-11-10 00:00:00.000000000 Z
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: listen
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '3.0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '3.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: mini_racer
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 0.1.15
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 0.1.15
56
+ - !ruby/object:Gem::Dependency
57
+ name: opal
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.11.0
63
+ - - "<"
64
+ - !ruby/object:Gem::Version
65
+ version: 0.12.0
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 0.11.0
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.12.0
76
+ - !ruby/object:Gem::Dependency
77
+ name: opal-browser
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.2.0
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.2.0
90
+ - !ruby/object:Gem::Dependency
91
+ name: uglifier
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ type: :runtime
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ - !ruby/object:Gem::Dependency
105
+ name: websocket
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ - !ruby/object:Gem::Dependency
119
+ name: bundler
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.16.0
125
+ type: :development
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 1.16.0
132
+ - !ruby/object:Gem::Dependency
133
+ name: chromedriver-helper
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ type: :development
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ - !ruby/object:Gem::Dependency
147
+ name: opal-rails
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.9.4
153
+ type: :development
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.9.4
160
+ - !ruby/object:Gem::Dependency
161
+ name: pry
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: puma
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ type: :development
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ - !ruby/object:Gem::Dependency
189
+ name: rails
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 4.0.0
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: 4.0.0
202
+ - !ruby/object:Gem::Dependency
203
+ name: rake
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ - !ruby/object:Gem::Dependency
217
+ name: rspec
218
+ requirement: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 3.7.0
223
+ type: :development
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 3.7.0
230
+ - !ruby/object:Gem::Dependency
231
+ name: rubocop
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 0.51.0
237
+ type: :development
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 0.51.0
244
+ - !ruby/object:Gem::Dependency
245
+ name: sqlite3
246
+ requirement: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ type: :development
252
+ prerelease: false
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ - !ruby/object:Gem::Dependency
259
+ name: timecop
260
+ requirement: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: 0.8.1
265
+ type: :development
266
+ prerelease: false
267
+ version_requirements: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: 0.8.1
272
+ description:
273
+ email:
274
+ - mitch@catprint.com
275
+ - jan@kursator.com
276
+ executables:
277
+ - hyperstack-hotloader
278
+ extensions: []
279
+ extra_rdoc_files: []
280
+ files:
281
+ - ".gitignore"
282
+ - ".travis.yml"
283
+ - Gemfile
284
+ - Gemfile.lock
285
+ - README.md
286
+ - Rakefile
287
+ - bin/hyperstack-hotloader
288
+ - hyperstack-config.gemspec
289
+ - lib/hyperstack-config.rb
290
+ - lib/hyperstack-hotloader-config.js.erb
291
+ - lib/hyperstack-loader-application.rb.erb
292
+ - lib/hyperstack-loader-system-code.rb.erb
293
+ - lib/hyperstack-loader.js
294
+ - lib/hyperstack-prerender-loader-application.rb.erb
295
+ - lib/hyperstack-prerender-loader-system-code.rb.erb
296
+ - lib/hyperstack-prerender-loader.js
297
+ - lib/hyperstack/active_support_string_inquirer.rb
298
+ - lib/hyperstack/autoloader.rb
299
+ - lib/hyperstack/autoloader_starter.rb
300
+ - lib/hyperstack/boot.rb
301
+ - lib/hyperstack/client_readers.rb
302
+ - lib/hyperstack/client_stubs.rb
303
+ - lib/hyperstack/config/version.rb
304
+ - lib/hyperstack/config_settings.rb
305
+ - lib/hyperstack/context.rb
306
+ - lib/hyperstack/deprecation_warning.rb
307
+ - lib/hyperstack/env.rb
308
+ - lib/hyperstack/environment/development/hyperstack_env.rb
309
+ - lib/hyperstack/environment/production/hyperstack_env.rb
310
+ - lib/hyperstack/environment/staging/hyperstack_env.rb
311
+ - lib/hyperstack/environment/test/hyperstack_env.rb
312
+ - lib/hyperstack/hotloader.rb
313
+ - lib/hyperstack/hotloader/add_error_boundry.rb
314
+ - lib/hyperstack/hotloader/css_reloader.rb
315
+ - lib/hyperstack/hotloader/server.rb
316
+ - lib/hyperstack/hotloader/short_cut.js
317
+ - lib/hyperstack/hotloader/socket.rb
318
+ - lib/hyperstack/hotloader/stack-trace.js
319
+ - lib/hyperstack/hotloader/stub.rb
320
+ - lib/hyperstack/imports.rb
321
+ - lib/hyperstack/js_imports.rb
322
+ - lib/hyperstack/on_client.rb
323
+ - lib/hyperstack/on_error.rb
324
+ - lib/hyperstack/rail_tie.rb
325
+ - lib/hyperstack/string.rb
326
+ homepage: http://ruby-hyperstack.org
327
+ licenses:
328
+ - MIT
329
+ metadata: {}
330
+ post_install_message:
331
+ rdoc_options: []
332
+ require_paths:
333
+ - lib
334
+ required_ruby_version: !ruby/object:Gem::Requirement
335
+ requirements:
336
+ - - ">="
337
+ - !ruby/object:Gem::Version
338
+ version: '0'
339
+ required_rubygems_version: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - ">="
342
+ - !ruby/object:Gem::Version
343
+ version: '0'
344
+ requirements: []
345
+ rubyforge_project:
346
+ rubygems_version: 2.7.8
347
+ signing_key:
348
+ specification_version: 4
349
+ summary: Provides a single point configuration module for hyperstack gems
350
+ test_files: []